Exception in thread "main" java.lang.NoClassDefFoundError

699 views
Skip to first unread message

Diana Magdi

unread,
Apr 24, 2015, 12:50:38 PM4/24/15
to pellet...@googlegroups.com

I'm trying to use Jena 2.13.0 with Pellet; I downloaded the latest Apache Jena library  2.13.0.

Then, I downloaded  the jar file pellet-jena-2.3.2 and imported the JENA libraries. 

 But i get this exception:

Exception in thread "main" java.lang.NoClassDefFoundError: org/mindswap/pellet/utils/progress/ProgressMonitor

at org.mindswap.pellet.jena.PelletReasoner.bind(PelletReasoner.java:95)

at org.mindswap.pellet.jena.PelletReasoner.bind(PelletReasoner.java:53)

at com.hp.hpl.jena.rdf.model.ModelFactory.createInfModel(ModelFactory.java:183)

at org.mindswap.pellet.examples.JenaReasoner.usageWithDefaultModel(JenaReasoner.java:53)

at org.mindswap.pellet.examples.JenaReasoner.main(JenaReasoner.java:32)

Caused by: java.lang.ClassNotFoundException: org.mindswap.pellet.utils.progress.ProgressMonitor

at java.net.URLClassLoader$1.run(URLClassLoader.java:366)

at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

... 5 more

what is the problem ?


Ignazio Palmisano

unread,
Apr 24, 2015, 1:25:35 PM4/24/15
to Diana Magdi, pellet...@googlegroups.com


On 24 Apr 2015 17:50, "Diana Magdi" <diana...@gmail.com> wrote:
>
> I'm trying to use Jena 2.13.0 with Pellet; I downloaded the latest Apache Jena library  2.13.0.
>
> Then, I downloaded  the jar file pellet-jena-2.3.2 and imported the JENA libraries. 
>
>  But i get this exception:
>
> Exception in thread "main" java.lang.NoClassDefFoundError: org/mindswap/pellet/utils/progress/ProgressMonitor
>

You need the other pellet jars in the classpath. Probably the one missing is pellet-core.
Hth,
I.

> at org.mindswap.pellet.jena.PelletReasoner.bind(PelletReasoner.java:95)
>
> at org.mindswap.pellet.jena.PelletReasoner.bind(PelletReasoner.java:53)
>
> at com.hp.hpl.jena.rdf.model.ModelFactory.createInfModel(ModelFactory.java:183)
>
> at org.mindswap.pellet.examples.JenaReasoner.usageWithDefaultModel(JenaReasoner.java:53)
>
> at org.mindswap.pellet.examples.JenaReasoner.main(JenaReasoner.java:32)
>
> Caused by: java.lang.ClassNotFoundException: org.mindswap.pellet.utils.progress.ProgressMonitor
>
> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>
> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>
> at java.security.AccessController.doPrivileged(Native Method)
>
> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>
> at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>
> ... 5 more
>
> what is the problem ?
>
>

> --
> You received this message because you are subscribed to the Google Groups "Pellet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to pellet-users...@googlegroups.com.
> To post to this group, send email to pellet...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/pellet-users/7183242f-f139-43e4-be73-602669e40db4%40googlegroups.com.

Diana Magdi

unread,
Apr 25, 2015, 4:21:13 AM4/25/15
to Ignazio Palmisano, pellet...@googlegroups.com
Thank you for your replying .... I added all the jar files but now i get another exception 

Exception in thread "main" java.lang.IllegalAccessError: tried to access field com.hp.hpl.jena.reasoner.BaseInfGraph.isPrepared from class org.mindswap.pellet.jena.PelletInfGraph

at org.mindswap.pellet.jena.PelletInfGraph.performAdd(PelletInfGraph.java:534)

at com.hp.hpl.jena.graph.impl.GraphBase.add(GraphBase.java:202)

at org.apache.jena.riot.system.StreamRDFLib$ParserOutputGraph.triple(StreamRDFLib.java:163)

at org.apache.jena.riot.lang.LangRDFXML$HandlerSink.statement(LangRDFXML.java:171)

at com.hp.hpl.jena.rdfxml.xmlinput.impl.XMLHandler.triple(XMLHandler.java:73)

at com.hp.hpl.jena.rdfxml.xmlinput.impl.ParserSupport.triple(ParserSupport.java:221)

at com.hp.hpl.jena.rdfxml.xmlinput.states.WantDescription.startElement(WantDescription.java:93)

at com.hp.hpl.jena.rdfxml.xmlinput.impl.XMLHandler.startElement(XMLHandler.java:112)

at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)

at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)

at org.apache.xerces.impl.XMLNamespaceBinder.handleStartElement(Unknown Source)

at org.apache.xerces.impl.XMLNamespaceBinder.emptyElement(Unknown Source)

at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)

at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)

at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)

at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)

at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)

at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)

at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)

at com.hp.hpl.jena.rdfxml.xmlinput.impl.RDFXMLParser.parse(RDFXMLParser.java:151)

at com.hp.hpl.jena.rdfxml.xmlinput.ARP.load(ARP.java:119)

at org.apache.jena.riot.lang.LangRDFXML.parse(LangRDFXML.java:143)

at org.apache.jena.riot.RDFParserRegistry$ReaderRIOTLang.read(RDFParserRegistry.java:185)

at org.apache.jena.riot.RDFDataMgr.process(RDFDataMgr.java:906)

at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:257)

at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:243)

at org.apache.jena.riot.adapters.RDFReaderRIOT_Web.read(RDFReaderRIOT_Web.java:96)

at com.hp.hpl.jena.rdf.model.impl.ModelCom.read(ModelCom.java:235)

at org.mindswap.pellet.examples.JenaReasoner.usageWithDefaultModel(JenaReasoner.java:56)

at org.mindswap.pellet.examples.JenaReasoner.main(JenaReasoner.java:32)

Ignazio Palmisano

unread,
Apr 25, 2015, 4:34:36 AM4/25/15
to pellet...@googlegroups.com
On 25 April 2015 at 09:21, Diana Magdi <diana...@gmail.com> wrote:
> Thank you for your replying .... I added all the jar files but now i get
> another exception
>
> Exception in thread "main" java.lang.IllegalAccessError: tried to access
> field com.hp.hpl.jena.reasoner.BaseInfGraph.isPrepared from class
> org.mindswap.pellet.jena.PelletInfGraph
>
> at
> org.mindswap.pellet.jena.PelletInfGraph.performAdd(PelletInfGraph.java:534)
>


I have tried compiling Pellet source with Jena 2.13.0 and got
compilation errors, so I'm afraid this is not going to work with just
replacing jars.

[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /Users/ignazio/workspace/pellet/jena/src/main/java/org/mindswap/pellet/jena/SimpleUnion.java:[16,8]
org.mindswap.pellet.jena.SimpleUnion is not abstract and does not
override abstract method graphBaseFind(com.hp.hpl.jena.graph.Triple)
in com.hp.hpl.jena.graph.impl.GraphBase
[INFO] 1 error

There's at least one code change that needs to be done.
Cheers,
Ignazio

Diana Magdi

unread,
Apr 25, 2015, 4:53:43 AM4/25/15
to Ignazio Palmisano, pellet...@googlegroups.com
if I want to use the reasoner Pellet jena, I have to use a specified Version of Jena ?

You received this message because you are subscribed to a topic in the Google Groups "Pellet Users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/pellet-users/KPw6UO7b3-4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to pellet-users...@googlegroups.com.

To post to this group, send email to pellet...@googlegroups.com.

Ignazio Palmisano

unread,
Apr 25, 2015, 5:26:57 AM4/25/15
to pellet...@googlegroups.com
On 25 April 2015 at 09:53, Diana Magdi <diana...@gmail.com> wrote:
> if I want to use the reasoner Pellet jena, I have to use a specified Version
> of Jena ?
>

The version that we know work is Jena 2.10.1
Cheers,
Ignazio

Diana Magdi

unread,
Apr 25, 2015, 7:11:20 AM4/25/15
to Ignazio Palmisano, pellet...@googlegroups.com
I downloaded Jena version 2.10.1 .  i tried Jena 2.10.1  with Pellet 2.3.2 but i get this exception. 

Exception in thread "main" java.lang.NoClassDefFoundError: shared/SharedObjectFactory

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:800)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)

at java.net.URLClassLoader.access$100(URLClassLoader.java:71)

at java.net.URLClassLoader$1.run(URLClassLoader.java:361)

at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

at org.mindswap.pellet.utils.ATermUtils.<clinit>(ATermUtils.java:64)

at org.mindswap.pellet.jena.graph.loader.DefaultGraphLoader.clear(DefaultGraphLoader.java:238)

at org.mindswap.pellet.jena.graph.loader.DefaultGraphLoader.<init>(DefaultGraphLoader.java:181)

at org.mindswap.pellet.jena.PelletReasoner.bind(PelletReasoner.java:95)

at org.mindswap.pellet.jena.PelletReasoner.bind(PelletReasoner.java:53)

at com.hp.hpl.jena.rdf.model.ModelFactory.createInfModel(ModelFactory.java:261)

at org.mindswap.pellet.examples.JenaReasoner.usageWithDefaultModel(JenaReasoner.java:53)

at org.mindswap.pellet.examples.JenaReasoner.main(JenaReasoner.java:32)

Caused by: java.lang.ClassNotFoundException: shared.SharedObjectFactory

at java.net.URLClassLoader$1.run(URLClassLoader.java:366)

at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

... 20 more


Then i downloaded the jar file for shared object and i added this file in the classpath but i get the same exception that I had with Jena 2.13.

Any help will be appreciated. Thanks

Diana Magdi

unread,
Apr 25, 2015, 7:14:32 AM4/25/15
to Ignazio Palmisano, pellet...@googlegroups.com

Exception in thread "main" java.lang.IllegalAccessError: tried to access field com.hp.hpl.jena.reasoner.BaseInfGraph.isPrepared from class org.mindswap.pellet.jena.PelletInfGraph

at org.mindswap.pellet.jena.PelletInfGraph.performAdd(PelletInfGraph.java:534)

at com.hp.hpl.jena.graph.impl.GraphBase.add(GraphBase.java:202)

at org.apache.jena.riot.system.StreamRDFLib$ParserOutputGraph.triple(StreamRDFLib.java:150)

at org.apache.jena.riot.lang.LangRDFXML$HandlerSink.statement(LangRDFXML.java:170)

at com.hp.hpl.jena.rdf.arp.impl.XMLHandler.triple(XMLHandler.java:82)

at com.hp.hpl.jena.rdf.arp.impl.ParserSupport.triple(ParserSupport.java:225)

at com.hp.hpl.jena.rdf.arp.states.WantDescription.startElement(WantDescription.java:99)

at com.hp.hpl.jena.rdf.arp.impl.XMLHandler.startElement(XMLHandler.java:121)

at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)

at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)

at org.apache.xerces.impl.XMLNamespaceBinder.handleStartElement(Unknown Source)

at org.apache.xerces.impl.XMLNamespaceBinder.emptyElement(Unknown Source)

at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)

at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)

at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)

at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)

at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)

at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)

at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)

at com.hp.hpl.jena.rdf.arp.impl.RDFXMLParser.parse(RDFXMLParser.java:151)

at com.hp.hpl.jena.rdf.arp.ARP.load(ARP.java:119)

at org.apache.jena.riot.lang.LangRDFXML.parse(LangRDFXML.java:142)

at org.apache.jena.riot.RDFParserRegistry$ReaderRIOTFactoryImpl$1.read(RDFParserRegistry.java:142)

at org.apache.jena.riot.RDFDataMgr.process(RDFDataMgr.java:760)

at org.apache.jena.riot.RDFDataMgr.parse(RDFDataMgr.java:652)

at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:211)

at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:184)

at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:122)

at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:113)

at org.apache.jena.riot.adapters.RDFReaderRIOT.read(RDFReaderRIOT.java:77)

at com.hp.hpl.jena.rdf.model.impl.ModelCom.read(ModelCom.java:229)

at org.mindswap.pellet.examples.JenaReasoner.usageWithDefaultModel(JenaReasoner.java:56)

at org.mindswap.pellet.examples.JenaReasoner.main(JenaReasoner.java:32)



Any help will be appreciated. Thanks

Ignazio Palmisano

unread,
Apr 25, 2015, 3:34:27 PM4/25/15
to pellet...@googlegroups.com
On 25 April 2015 at 12:14, Diana Magdi <diana...@gmail.com> wrote:
> I downloaded Jena version 2.10.1 . i tried Jena 2.10.1 with Pellet 2.3.2
> but i get this exception.
>
> Exception in thread "main" java.lang.NoClassDefFoundError:
> shared/SharedObjectFactory
>

Can you show the exact classpath you're using?
To debug this, I usually add this statement at the beginning of my code:

System.out.println(System.getProperty("java.class.path"));

This will show what jars are on your classpath during execution.
Cheers,
Ignazio

Diana Magdi

unread,
Apr 26, 2015, 3:17:17 AM4/26/15
to Ignazio Palmisano, pellet...@googlegroups.com
There are the jar files that I use :

/programs/apache-jena-2.10.1/lib/commons-codec-1.6.jar
/programs/apache-jena-2.10.1/lib/httpclient-4.2.3.jar
/programs/apache-jena-2.10.1/lib/httpcore-4.2.2.jar:
/programs/apache-jena-2.10.1/lib/jcl-over-slf4j-1.6.4.jar
/programs/apache-jena-2.10.1/lib/jena-arq-2.10.1.jar
/programs/apache-jena-2.10.1/lib/jena-core-2.10.1.jar
/programs/apache-jena-2.10.1/lib/jena-iri-0.9.6.jar
/programs/apache-jena-2.10.1/lib/jena-tdb-0.10.1.jar
/programs/apache-jena-2.10.1/lib/log4j-1.2.16.jar
/programs/apache-jena-2.10.1/lib/slf4j-api-1.6.4.jar
/programs/apache-jena-2.10.1/lib/slf4j-log4j12-1.6.4.jar
/programs/apache-jena-2.10.1/lib/xercesImpl-2.11.0.jar
/programs/apache-jena-2.10.1/lib/xml-apis-1.4.01.jar
/programs/pellet/Pellet_Lib/2.3.2/pellet-cli-2.3.2.jar
/programs/pellet/Pellet_Lib/2.3.2/pellet-common-2.3.2.jar
/programs/pellet/Pellet_Lib/2.3.2/pellet-core-2.3.2.jar
/programs/pellet/Pellet_Lib/2.3.2/pellet-explanation-2.3.2.jar
/programs/pellet/Pellet_Lib/2.3.2/pellet-jena-2.3.2.jar
/programs/pellet/Pellet_Lib/2.3.2/pellet-modularity-2.3.2.jar
/programs/pellet/Pellet_Lib/2.3.2/pellet-owlapiv3-2.3.2.jar
/programs/pellet/Pellet_Lib/2.3.2/pellet-pellint-2.3.2.jar
/programs/pellet/Pellet_Lib/2.3.2/pellet-query-2.3.2.jar
/programs/pellet/Pellet_Lib/2.3.2/pellet-rules-2.3.2.jar
/programs/library/aterm-java-1.6.jar
/programs/library/junit.jar
/programs/library/commons-cli-1.2.jar
/programs/library/shared-object-1.4.9.jar

Ignazio Palmisano

unread,
Apr 27, 2015, 11:45:55 AM4/27/15
to Diana Magdi, pellet...@googlegroups.com
I think I might have figured out what is going on.
Can you confirm if you're using Pellet 2.3.2 (com.github.ansell.pellet)?
It is the only 2.3.2 version I can find (Pellet on GitHub has only
release 2.3.1)
If that's the case, then the pom for 2.3.2 is the following:

https://repo1.maven.org/maven2/com/github/ansell/pellet/pellet-parent/2.3.6-ansell/pellet-parent-2.3.6-ansell.pom

Which has:

<dependency>
<groupId>com.hp.hpl.jena</groupId>
<artifactId>jena</artifactId>
<version>2.6.4</version>
</dependency>

So it is compatible with version 2.6.4 of Jena, not 2.10


If you want to use version 2.10 of Jena, you will have to build the
current code on GitHub.
Alternatively, you can use version 2.4.0-ignazio1977 (I have forked
this version to be able to use OWLAI 4.0.2 with Pellet).
This version uses Jena 2.10.1

http://search.maven.org/#artifactdetails%7Cnet.sourceforge.owlapi%7Cpellet-parent-ignazio1977%7C2.4.0-ignazio1977%7Cpom

Note: the only difference between this fork and the official Pellet
source code is related to OWLAPI code. Any other use of Pellet should
be equivalent.
Cheers,
Ignazio
Reply all
Reply to author
Forward
0 new messages