# Jar packen mit Apache-POI



## JDKarl (7. Okt 2012)

Hallo Miteinander,

Ich arbeite an einem Programm das Informationen aus einer Exel-File ausliest. Dafür nutze ich die POI 3.8, dom4j-1.6 und xmlbeans-2.6 und das neuste Eclipse mit Java SDK 64bit (neuste). Mein Programm an sich funktioniert perfekt nur wenn ich versuche es als JAR zu packen funktionieren die Module nicht, die mit der POI zusammenhängen.
Der rest des Programms funktioniert aber nach dem starten der JAR.


Haben schon alle möglichkeiten beim JAR packen ausprobiert  - ohne Erfolg.

Ich freue mich auf eure Antworten

JDKarl


----------



## faetzminator (10. Okt 2012)

Wie sehen deine Tests denn aus? Es sei gesagt, dass grundsätzlich die Fremdlibs ausserhalb des Jars gehalten werden sollten. Dann einfach im Manifest die entsprechenden Abhängigkeiten eintragen.


----------



## OSBI_Fan (10. Okt 2012)

Hallo JDKarl,

*versuch mal folgendes:*

Du entpackst die benötigten JARs sowie die sonstigen Klassen und Resourcen der Anwendung und legst sie in Deiner Anwendung in einem entsprechenden Verzeichnis ab (z.B. lib relativ zu der ausführbaren Java_Anwendung.jar).

Dann nimmst du alle Bibliotheken (JARs) dieses Lib Verzeichnis explizit in den ClassPath auf:


```
java -cp ./lib/POI-3.8-XXXX.jar;./lib/dom4j-1.6.jar;./lib/xmlbeans-2.6 -jar Java_Anwendung.jar
```
Da ich mit Eclipse bisher keine eigenen Erfahrungen gesammelt habe, kann ich Dir nur als Beispiel aufzeigen, wie es bei mir mit der Netbeans IDE funktioniert hat.

*"Apache POI" Beispiel:*

Java_Anwendung.jar im Ordner dist und die Bibliotheken (JARs) unter lib ablegen.

C:\dist\lib

*weitere Quellen - Links:*

java - How Can I Add the Apache POI Library in and Eclipse Project? - Stack Overflow

How to include the POI package into java directory ? (IDEs and Version Control forum at JavaRanch)

Java und HSSF + XSSF @ Java - tutorials.de: Tutorial, Forum, Anleitung & Hilfe

*Eclipse:* Du musst die Library poi-XX-XXXX.jar und poi-ooxml-XXXX.jar zu deinem Build Path hinzufügen. Unter Eclipse machste das so:


Rechtslick auf dein Projekt
Klick auf Properties
Klick auf Java Build Path
Reiter Libraries auswählen
Klick auf Add External JARs..
Die oben genannten jar Dateien hinzufügen
Wenn die JAR Dateien im "Properties Fenster" angezeigt werden, kannst Du das Fenster mit einem Klick auf OK schließen. In Deinem Projekt sollten die JAR Dateien nun unter "Referenced Libraries" auftauchen und Du kannst mit diesen dann arbeiten.

*P.S. Vielleicht wäre es besser, wenn Du Deinen Java-Code hier postest?!*

Grüße,

OSBI_Fan

OSBI = Open Source Business Intelligence


----------



## JDKarl (11. Okt 2012)

Ich danke euch allen für die hilfreichen Antworten. Ich programmiere Kommerziell und kann nicht den Quellcode posten.
Das Problem hat sich aber von alleine gelöst, nach umfangreichem Abgreifen aller Exceptions, hat sich herrausgestellt, dass nicht die .class des POI`s nicht gefunden werden kann, sonder die .xlsx.

Die allgemeine Exception lautet Thread.noFoundClass(unkown).  darraus lässt sich ja kaum schließen, dass sich es um die .xlsx handelt.

Übrigens eignigt sich die Extract libs funktion von Eclipse zum packen von exeJars herrvorragend zum einbinden von JarLibs, würde ich jedem raten zu benutzen!

Danek trotzdem für euren Einsatz.

JDKarl


----------

