2017-01-03 5 views
0

Ich habe mein Projekt gerade beendet, kann es aber nicht ausführen, wenn es exportiert wird. Ich benutze JAXB, um XML-Dateien zu lesen und zu schreiben, und habe auch Abhängigkeiten von anderen externen Ordnern, die benötigt werden, um einen POS-Drucker zu verwenden.Exportieren in JAR mit externen JavaPOS-Dateien

Ich habe es geschafft, meine externen XML-Save-Files mit absoluten Pfaden zu verbinden, aber nicht mit relativen Pfaden. Also das hat funktioniert, aber nicht so, wie ich es wollte. Die Verwendung des externen Klassenordners für den Drucker funktionierte jedoch überhaupt nicht.

Das bedeutet, dass ich in meinem Eclipse Project Build Path einen Klassenordner hinzugefügt habe, der all diese benötigten Dateien enthält (also nicht nur Jars, also würde das Hinzufügen der einzelnen Dateien nicht funktionieren). Das Exportieren meines Projekts in ein Jar enthält entweder alle Dateien in das Jar selbst oder enthält sie überhaupt nicht. Alles funktioniert perfekt in Eclipse, aber nicht, wenn ich es exportiere.

Meine Ordnerstruktur sieht wie folgt aus:

src 
    /model 
    /view 
    /control 
data 
    /articles.xml 
    /... 
JavaPOS <--- needed folder with all its files 
    /jpos.xml 
    /xerxers.jar 
    /swt-..-.dll 

Ich habe versucht:.

  • Inputstreams ist = getClass() getResourceAsStream (url);

  • absolute Pfade

  • Manipulation die Manifest-Datei und/oder Glas Struktur

  • runnable und nicht runnable Gläser mit fast jeder Kombination von Optionen

  • die Dateien in der Bibliothek setzen „durch Hand "

  • Ändern des Build-Pfads des Projekts

Meine Frage ist:

Wie bekomme ich meine jar-Datei zu wissen, wo diese Dateien?

EDIT:

Glauben Sie, dass Maven oder Ant-Datei meine Probleme lösen könnte? Ich habe keine Erfahrung damit.

Antwort

0

Das Problem war, dass ich mehr als eine JRE installiert hatte und dass die eine Eclipse verwendet wurde, hatte alle DLL-Dateien, aber die anderen hatten es nicht. Also musste ich sie manuell hinzufügen, weil die Neuinstallation der Treiber des Druckers nichts änderte. Ich muss das irgendwie beheben, aber im Moment funktioniert es und das ist alles was ich wollte.

Es stellte sich heraus, dass ich nicht einmal diesen Ordner brauchte, nur eine Datei und die fehlenden DLLs.

Verwandte Themen