Search code examples
javanoclassdeffounderrorjenardfa

Unable to resolve NoClassDefFoundError for Jena IRIFactory


Below is the stacktrace of the error log I'm getting. If someone can tell what exactly could be causing this because as per the stacktrace I've everything in place.

Exception in thread "main" java.lang.NoClassDefFoundError: com/hp/hpl/jena/iri/IRIFactory
    at net.rootdev.javardfa.uri.IRIResolver.<init>(IRIResolver.java:26)
    at org.odftoolkit.odfdom.pkg.rdfa.SAXRDFaParser.createInstance(SAXRDFaParser.java:57)
    at org.odftoolkit.odfdom.pkg.OdfFileDom.initialize(OdfFileDom.java:217)
    at org.odftoolkit.odfdom.pkg.manifest.OdfManifestDom.initialize(OdfManifestDom.java:74)
    at org.odftoolkit.odfdom.pkg.OdfFileDom.<init>(OdfFileDom.java:132)
    at org.odftoolkit.odfdom.pkg.manifest.OdfManifestDom.<init>(OdfManifestDom.java:63)
    at org.odftoolkit.odfdom.pkg.OdfFileDom.newFileDom(OdfFileDom.java:189)
    at org.odftoolkit.odfdom.pkg.OdfPackage.parseManifest(OdfPackage.java:1219)
    at org.odftoolkit.odfdom.pkg.OdfPackage.readZip(OdfPackage.java:452)
    at org.odftoolkit.odfdom.pkg.OdfPackage.initializeZip(OdfPackage.java:422)
    at org.odftoolkit.odfdom.pkg.OdfPackage.<init>(OdfPackage.java:250)
    at org.odftoolkit.odfdom.pkg.OdfPackage.loadPackage(OdfPackage.java:320)
    at org.odftoolkit.simple.Document.loadDocument(Document.java:328)
    at org.odftoolkit.simple.TextDocument.loadDocument(TextDocument.java:305)
    at com.poc.LetsGetStarted.main(LetsGetStarted.java:13)
Caused by: java.lang.ClassNotFoundException: com.hp.hpl.jena.iri.IRIFactory
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 15 more

Jar Versions : jena-iri : 1.0.2 , java-rdfa : 0.4

Thanks.


Solution

  • I got the reason, I've tried both java-rdfa version 0.4 and 0.5 snapshot but both of them refer to com.hp.hpl.jena.iri.IRIFactory, however in the current packaging IRIFactory is moved to package org.apache.jena.iri.IRIFactory.