ODFDOM Czytanie odf. Błąd class not found

0

Witam!
Staram się zrobić obsługę plików .odf niestety mimo iż dodałem dodatkowe biblioteki (xcerces i rdfa) to dalej mam błędy odf przy otwieraniu pliku odf

OdfDocument doc = OdfDocument.loadDocument("./sample.odt");
            System.out.println(doc.getMetaStream().toString()); 

przy próbie utworzenia klasy obiektu doc dostaje takie komunikaty:

java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:363)
	at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:303)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:483)
	at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: 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: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:303)
	at org.odftoolkit.odfdom.doc.OdfDocument.loadDocument(OdfDocument.java:204)
	at mdproj.MDProj.main(MDProj.java:50)
	... 11 more
Caused by: java.lang.ClassNotFoundException: com.hp.hpl.jena.rdf.model.RDFNode
	at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 23 more 

Według tego co znalazłem na oficjalnej stronie ODFDOM to polecenie powinno zadziałać i wymagane jest do tego tylko xerces

0

Na to powinieneś zwrócić uwagę

Caused by: java.lang.ClassNotFoundException: com.hp.hpl.jena.rdf.model.RDFNode

http://mvnrepository.com/artifact/com.hp.hpl.jena/jena/2.5.5

0

Masz przecież wyraźnie napisane że brakuje ci jakiejś biblioteki i tyle. Zrób sobie tą przyjemność i użyj Mavena, on pociągnie wszystko czego ci trzeba. Widzisz problem w tym że taki xerces też może czegoś wymagać do działania...

0

Niestety nie działa ta biblioteka w nowym projekcie Mavena (javafx). Próbowałem ręcznie wrzucić, bawić się tymi plikami xml i nic.

Poza projektem Mavena jak coś dodam to wyskakuje błąd, że brakuje kolejnej rzeczy.

0

Jaka niby biblioteka ci nie działa? o_O

0

zainstalowałem w maven odftoolkit z lokalnego folderu bo w repozytorium nie znajduje i chce go użyć w projekcie ale netbeans twierdz ze go tam nie ma

0

Nie znajdziesz? O RLY? http://mvnrepository.com/artifact/org.apache.odftoolkit
Poza tym w takim razie źle "zainstalowałeś" w swoim lokalnym repo.

0

właśnie to ściągnąłem i "dodałem" do repozytorium,
mvn install:install-file -Dfile=odfdom-java-0.8.6.jar -DgroupId=org.odftool -DartifactId=odfdom -Dversion=0.8 -Dpackaging=jar

0

Przebrnąłem prze te problemy, mam dodane biblioteki i niestety dalej są kwiatki:
Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.4.1:clean (default-clean) on project mavenproject1: Failed to clean project: Failed to delete...

0

Zamknij wszystkie pliki ewentualnie ręcznie usuń targeta ...

0

Maven dalej nie może zrobić bulida, w logu pokazuje mi taki błąd:

 Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.6:unpack-dependencies (unpack-dependencies) on project mavenproject1: Unknown archiver type: No such archiver: 'pom'. -> [Help 1]

To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.

For more information about the errors and possible solutions, please read the following articles:
[Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Ale biblioteki pobrał, skopiowałem sobie je do zwykłego projektu i dalej jest class not found "com/hp/hpl/jena/rdf/model/RDFNode"
Sądzę, że nie po prostu ta biblioteka jest nieużywalna, albo zgodna ze starsza wersją jdk.
Czy są jeszcze jakieś metody do dobrania się do pliku odf albo odt?

0

masz prawdopodobnie źle skonfigurowanego poma, zobacz ten wątek
http://maven.40175.n5.nabble.com/Problem-unpacking-dependencies-td3073310.html

0

@up
Nic z tych rzeczy nie działa, za ten czas zdążyłem olać mavena i uruchomić zwykły projekt.
Wystarczyło ściągnąć starszą wersje jena, potem jeszcze jednej biblioteki brakowało, po prostu dołożyłem ją ręcznie i tyle, w zasadzie działa.

A i jeszcze jedna ważna kwestia teraz używam ODFDOM.odftoolkit.simple-api, działa mi np

JFileChooser fileChooser = new JFileChooser();
            int returnVal = fileChooser.showOpenDialog(null);
            TextDocument txd;
            txd = TextDocument.loadDocument(fileChooser.getSelectedFile());

            System.out.println(txd.getMediaTypeString());

https://incubator.apache.org/odftoolkit/simple/index.html
Na powyższej stronie jest o tym jak tworzyć dokumenty i wstawiać tam tabele itp. jednak nigdzie nie nie podają jak uzyskać tekst z dokumentu.
JavaDoc do tej biblioteki jest tylko do niektórych metod.

0

They use obsolete HP-released Jena despite there is currently Apache-released Jena distribution. I have submitted a JIRA ODFTOOLKIT-404 for that.

https://issues.apache.org/jira/browse/ODFTOOLKIT-404

1 użytkowników online, w tym zalogowanych: 0, gości: 1