Какие зависимости использовать для APACHE ODF TOOLKIT (INCUBATING)
Я пытаюсь загрузить файл.ods с кодом:
import org.odftoolkit.simple.SpreadsheetDocument;
SpreadsheetDocument data = SpreadsheetDocument.loadDocument(f);
Я добавил оператор импорта, чтобы показать, какой пакет я использую.
Однако я продолжаю получать java.lang.NoClassDefFoundError. Я пытался добавить много разных библиотек. На данный момент у меня есть эти библиотеки в моем пути сборки eclipse: библиотеки в моем пути сборки eclipse
И получаю эту ошибку
Exception in thread "main" java.lang.NoClassDefFoundError: com/hp/hpl/jena/rdf/model/RDFNode
at org.odftoolkit.odfdom.pkg.OdfFileDom.initialize(OdfFileDom.java:215)
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:1187)
at org.odftoolkit.odfdom.pkg.OdfPackage.readZip(OdfPackage.java:454)
at org.odftoolkit.odfdom.pkg.OdfPackage.initializeZip(OdfPackage.java:425)
at org.odftoolkit.odfdom.pkg.OdfPackage.<init>(OdfPackage.java:256)
at org.odftoolkit.odfdom.pkg.OdfPackage.loadPackage(OdfPackage.java:318)
at org.odftoolkit.simple.Document.loadDocument(Document.java:319)
at org.odftoolkit.simple.SpreadsheetDocument.loadDocument(SpreadsheetDocument.java:203)
at FirstLoadComponent.main(FirstLoadComponent.java:11)
Caused by: java.lang.ClassNotFoundException: com.hp.hpl.jena.rdf.model.RDFNode
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)
... 13 more
Любое предложение о том, как запустить мой код, или любой другой способ сделать простое чтение и запись в файлы.ods, будет весьма уместным.
1 ответ
Вы должны добавить commons-validator-1.5.0.jar
, jena-core-2.11.2.jar
, jena-iri-1.0.2.jar
по крайней мере.
Полные банки зависимостей могут быть получены через maven
команда mvn dependency:tree
,
org.apache.odftoolkit:odfdom-Java: баночка:0.8.11-Инкубация +- org.apache.odftoolkit:taglets:jar:0.8.11-инкубация: компиляция | \- com.sun:tools:jar:1.7.0:system +- xerces:xercesImpl:jar:2.9.1: компилировать +- xml-apis:xml-apis:jar:1.3.04: компилировать +- org.apache.jena:jena-core:jar:2.11.2:compile | +- org.slf4j:slf4j-api:jar:1.7.6: компилировать | +- org.apache.jena:jena-iri:jar:1.0.2: скомпилировать | +- org.slf4j:slf4j-log4j12:jar:1.7.6: компилировать | \- log4j:log4j:jar:1.2.17: компилировать +- net.rootdev:java-rdfa:jar:0.4.2: компилировать \- commons-validator:commons-validator:jar:1.5.0:compile +- commons-beanutils:commons-beanutils:jar:1.9.2: компилировать + - comms-digester:commons-digester:jar:1.8.1: компилировать + - commons-logging: commons-logging: jar: 1.2: компилировать \- commons-collection: commons-collection:jar:3.2.2: компилировать
Если ты не хочешь получить java.lang.NoClassDefFoundError
в будущем вы также должны добавить эти банки. Их можно найти в odfvalidator-1.1.8-инкубационный.war odftoolkit-0.6.2-incubating-bin.zip.