Hi Bart,
Did you find out what was going on?
Andy
On Wed, 23 May 2018 at 16:36, Andy Seaborne <[email protected]> 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 <[email protected]>
> > To: [email protected]
> > 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 <[email protected]>
> > > To: [email protected]
> > > 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 <[email protected]>
> > > > To: [email protected]
> > > > 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
> > > >
> > > >
> > >
> > >
> >
> >
>