Hi Ben,

Are you using apache-jena-osgi or a different bundling of jena?

The stacktrace is rather strange - the RIOT initialization (for code in jena-arq) isn't running and the trace is for the old, legacy way to read data.

Which jars from the jena distribution (or maven) are you using?

IncompatibleClassChangeError indicates an incompatible XMLReader. If you do not have the Xerces from the jena distribtion, your code might be picking up the one from the runtime libraries. That's a lot older than the one that Jena ships and Jena uses other aspects of Xerces than just the XML parsing.

        Andy

On 25/09/15 20:28, Ben Gould wrote:
Hi all,

Has anyone seen something like the stacktrace listed below before? I'm
trying to generate provenance rdf in a service running in an Karaf OSGi
runtime, but when it gets to:

final OntModel model =
ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM);

It has trouble creating the OntModel object because of the stack trace
below.  I'm guessing it has to do with the classes available to it at
runtime, as it runs fine outside of the OSGi container.


2015-09-25 14:35:30,946 | ERROR | raf-4.0.1/deploy |
cas_simple-word-count            | 140 -
com.inovexcorp.cas_simple-word-count - 0.0.1.SNAPSHOT |
[cas.service.simple.word_count.SimpleWordcountService(8)] The activate
method has thrown an exception
java.lang.IncompatibleClassChangeError: Class
org.apache.jena.rdfxml.xmlinput.impl.RDFXMLParser$SAXParserWithEncodingCheck
does not implement the requested interface org.xml.sax.XMLReader
     at
org.apache.jena.rdfxml.xmlinput.SAX2RDF.installHandlers(SAX2RDF.java:171)
     at
org.apache.jena.rdfxml.xmlinput.impl.RDFXMLParser.<init>(RDFXMLParser.java:63)

     at
org.apache.jena.rdfxml.xmlinput.impl.RDFXMLParser.create(RDFXMLParser.java:127)

     at
org.apache.jena.rdfxml.xmlinput.JenaReader.<init>(JenaReader.java:69)
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)[:1.8.0_11]
     at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)[:1.8.0_11]

     at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[:1.8.0_11]

     at
java.lang.reflect.Constructor.newInstance(Constructor.java:408)[:1.8.0_11]
     at java.lang.Class.newInstance(Class.java:433)[:1.8.0_11]
     at
org.apache.jena.rdf.model.impl.RDFReaderFImpl.getReader(RDFReaderFImpl.java:120)

     at org.apache.jena.rdf.model.impl.ModelCom.read(ModelCom.java:279)
     at
org.apache.jena.ontology.OntDocumentManager.findMetadata(OntDocumentManager.java:892)

     at
org.apache.jena.ontology.OntDocumentManager.initialiseMetadata(OntDocumentManager.java:850)

     at
org.apache.jena.ontology.OntDocumentManager.<init>(OntDocumentManager.java:198)

     at
org.apache.jena.ontology.OntDocumentManager.<init>(OntDocumentManager.java:180)

     at
org.apache.jena.ontology.OntDocumentManager.<init>(OntDocumentManager.java:164)

     at
org.apache.jena.ontology.OntDocumentManager.getInstance(OntDocumentManager.java:242)

     at
org.apache.jena.ontology.OntModelSpec.getDocumentManager(OntModelSpec.java:320)

     at
org.apache.jena.ontology.impl.OntModelImpl.getDocumentManager(OntModelImpl.java:189)

     at
org.apache.jena.ontology.impl.OntModelImpl.loadImports(OntModelImpl.java:1964)

     at
org.apache.jena.ontology.impl.OntModelImpl.<init>(OntModelImpl.java:151)
     at
org.apache.jena.ontology.impl.OntModelImpl.<init>(OntModelImpl.java:131)
     at
org.apache.jena.rdf.model.ModelFactory.createOntologyModel(ModelFactory.java:288)

...


Thanks,
-Ben



Reply via email to