In case of Maven Shade plugin was used for (re-)packaging resp. creating an uber-Jar, add this transformer
<transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> </transformers> On 23.05.2018 17:36, Andy Seaborne wrote: > > > On 23/05/18 16:19, Bart van Leeuwen wrote: >> code: >> >> with apache-jena-libs in pom > > Finding only one init is a symptom repacked jars that have not the > right ServiceLoader files. > > It looks like classpath has a repacked set of jena jars on it or a jar > with jena inside it, as well as those from apache-jena-libs. The > repacking did not merge the ServiceLoader files. > > If it not a case of unjar, copy into one place and rejar. > > http://jena.apache.org/documentation/notes/jena-repack.html > > What to look for: > > in any jars > > META-INF/services/org.apache.jena.sys.JenaSubsystemLifecycle > > it should have multiple lines in it if it has multiple Jena jars > combined in it (example from the Fuseki server jar): > > org.apache.jena.tdb.sys.InitTDB > org.apache.jena.riot.system.InitRIOT > org.apache.jena.sparql.system.InitARQ > org.apache.jena.sys.InitJenaCore > org.apache.jena.tdb2.sys.InitTDB2 > org.apache.jena.query.text.InitJenaText > org.apache.jena.query.spatial.InitJenaSpatial > > Andy > >> >> ############## >> public static void main(String... args) { >> JenaSystem.DEBUG_INIT = true; >> String update = "INSERT DATA {}"; >> UpdateFactory.create(update); >> System.out.println("DONE"); >> } >> ############### >> >> This is what I get >> >> ############## >> JenaSystem.init - start >> Found: >> InitTDB [40] >> SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". >> SLF4J: Defaulting to no-operation (NOP) logger implementation >> SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinderfor >> further details. >> Initialization sequence: >> JenaInitLevel0 [0] >> InitTDB [40] >> Init: JenaInitLevel0 >> Init: InitTDB >> TDB.init - start >> Exception in thread "main" java.lang.ExceptionInInitializerError >> at >> org.apache.jena.rdf.model.impl.ResourceImpl.fresh(ResourceImpl.java:135) >> at >> org.apache.jena.rdf.model.impl.ResourceImpl.<init>(ResourceImpl.java:85) >> at >> org.apache.jena.rdf.model.ResourceFactory$Impl.createResource(ResourceFactory.java:297) >> >> at >> org.apache.jena.rdf.model.ResourceFactory.createResource(ResourceFactory.java:92) >> >> at org.apache.jena.vocabulary.RDFS.resource(RDFS.java:35) >> at org.apache.jena.vocabulary.RDFS$Init.Class(RDFS.java:68) >> at org.apache.jena.vocabulary.RDFS.<clinit>(RDFS.java:40) >> at >> org.apache.jena.shared.PrefixMapping.<clinit>(PrefixMapping.java:219) >> at >> org.apache.jena.sparql.core.Prologue.<init>(Prologue.java:38) >> at >> org.apache.jena.update.UpdateRequest.<init>(UpdateRequest.java:46) >> at >> org.apache.jena.update.UpdateFactory.create(UpdateFactory.java:77) >> at >> org.apache.jena.update.UpdateFactory.create(UpdateFactory.java:56) >> at >> org.apache.jena.update.UpdateFactory.create(UpdateFactory.java:46) >> at com.example.netage.App.main(App.java:19) >> Caused by: java.lang.NullPointerException >> at >> org.apache.jena.tdb.sys.EnvTDB.processGlobalSystemProperties(EnvTDB.java:33) >> >> at org.apache.jena.tdb.TDB.init(TDB.java:252) >> at org.apache.jena.tdb.sys.InitTDB.start(InitTDB.java:29) >> at >> org.apache.jena.system.JenaSystem.lambda$init$2(JenaSystem.java:119) >> at java.util.ArrayList.forEach(ArrayList.java:1257) >> at >> org.apache.jena.system.JenaSystem.forEach(JenaSystem.java:194) >> at >> org.apache.jena.system.JenaSystem.forEach(JenaSystem.java:171) >> at org.apache.jena.system.JenaSystem.init(JenaSystem.java:117) >> at >> org.apache.jena.graph.NodeFactory.<clinit>(NodeFactory.java:32) >> ... 14 more >> >> #####################3 >> >> Met Vriendelijke Groet / With Kind Regards >> Bart van Leeuwen >> >> >> twitter: @semanticfire >> tel. +31(0)6-53182997 >> Netage B.V. >> http://netage.nl <http://netage.nl/> >> Esdoornstraat 3 >> 3461ER Linschoten >> The Netherlands >> >> >> >> >> From: Andy Seaborne <a...@apache.org> >> To: users@jena.apache.org >> Date: 23-05-2018 17:05 >> Subject: Re: Update Query Parsing error >> ------------------------------------------------------------------------ >> >> >> >> >> >> On 23/05/18 12:40, Bart van Leeuwen wrote: >> > I mean this: >> > >> > ##### >> > >> > public static void main(String[] args) throws Exception { >> > JenaSystem.DEBUG_INIT = true; >> > JenaSystem.init(); >> > ARQ.getContext().isTrue(ARQ.constantBNodeLabels) ; >> > >> > #### >> > >> > which crashes at the ARQ line. >> >> And no output? DEBUG_INIT causes init() to print all details of startup. >> The first thing the code does is print "JenaSystem.init - start" even >> before it's got to looking for components to initialize. >> >> See my other code experiment which is Jena-only code - no 3rd party >> code. >> >> Can you share the POM? >> >> Andy >> >> > >> > >> > Met Vriendelijke Groet / With Kind Regards >> > Bart van Leeuwen >> > >> > >> > twitter: @semanticfire >> > tel. +31(0)6-53182997 >> > Netage B.V. >> > http://netage.nl <http://netage.nl/><http://netage.nl/> >> > Esdoornstraat 3 >> > 3461ER Linschoten >> > The Netherlands >> > >> > >> > >> > >> > From: Andy Seaborne <a...@apache.org> >> > To: users@jena.apache.org >> > Date: 23-05-2018 13:39 >> > Subject: Re: Update Query Parsing error >> > >> ------------------------------------------------------------------------ >> > >> > >> > >> > >> > >> > On 23/05/18 12:15, Bart van Leeuwen wrote: >> > > I just tried your little addition and indeed it crashes before the >> > update. >> > > So what's next ? >> > >> > To be clear here - you mean this: >> > >> > public static void main(String[] args) throws Exception { >> > JenaSystem.DEBUG_INIT = true; >> > JenaSystem.init(); >> > ARQ.getContext().isTrue(ARQ.constantBNodeLabels) ; >> > >> > not the complete "main" below. >> > >> > What got printed by DEBUG_INIT? >> > >> > Andy >> > >> > > >> > > Met Vriendelijke Groet / With Kind Regards >> > > Bart van Leeuwen >> > > >> > > >> > > twitter: @semanticfire >> > > tel. +31(0)6-53182997 >> > > Netage B.V. >> > > http://netage.nl >> <http://netage.nl/><http://netage.nl/><http://netage.nl/> >> > > Esdoornstraat 3 >> > > 3461ER Linschoten >> > > The Netherlands >> > > >> > > >> > > >> > > >> > > From: Andy Seaborne <a...@apache.org> >> > > To: users@jena.apache.org >> > > Date: 23-05-2018 13:11 >> > > Subject: Re: Update Query Parsing error >> > > >> ------------------------------------------------------------------------ >> > > >> > > >> > > >> > > This code has the same Jena sequence without the StarDog code: >> > > >> > > The stacktrace indicates an exception before parsing even >> starts so the >> > > update itself is not a factro. >> > > >> > > public static void main(String... args) { >> > > JenaSystem.DEBUG_INIT = true; >> > > String update = "INSERT DATA {}"; >> > > UpdateFactory.create(update); >> > > System.out.println("DONE"); >> > > } >> > > >> > > This works for me with a maven dependency on >> > > org.apache.jena:apache-jena-libs:pom:3.7.0 >> > > >> > > Andy >> > > >> > > >> > >> > >> >>