mit jar packen

Hi,

kenne mich leider mit Java nur sehr wenig aus hab aber gerade die Aufgabe einen Service, der vorerst noch auf Java basiert zum Laufen zu bekommen (die Programmierung machen zum Glück andere - nur beim Server muss ich ran). Dabei muss bei jeder Anforderung mit jar ein File mit einer Anzahl classen und weiteren Daten (XML und png) gepackt werden und dieses gepackte File dann mittels java in ein prc umgewandelt werden.

Problem: packe ich das File unter Windows z.B. mit WinZip und benenne es in jar um funktioniert die weitere Umwandlung mit java problemlos.
Packe ich es mit jar unter Linux direkt auf dem Server kommt es bei der Ausführung von java zu mir unerklärbaren Fehlern.

Die Dateien packe ich folgendermaßen:

Code:
jar cvfm myJarFile.jar /path/to/META-INF/MANIFEST.MF *

und java führe ich so aus:

Code:
java -classpath /path/to/midp/midp4palm1.0/Converter/Converter.jar com.sun.midp.palm.database.MakeMIDPApp -type Data myJarFile.jar

Diese Fehlerausgabe gibt es dabei:

Code:
Unknown tag 0
Unknown tag 36
Unknown tag 0
Unknown tag 0
Unknown tag 35
Unknown tag 0
Unknown tag 14
java.lang.ArrayIndexOutOfBoundsException: 4970
        at com.sun.midp.palm.database.ClassInfo.className(src/com/sun/midp/palm/database/ClassInfo.java:222)
        at com.sun.midp.palm.database.ClassInfo.readClassFile(src/com/sun/midp/palm/database/ClassInfo.java:107)
        at com.sun.midp.palm.database.ClassInfo.<init>(src/com/sun/midp/palm/database/ClassInfo.java:94)
        at com.sun.midp.palm.database.MakeMIDPApp.genResourcesFromJAR(src/com/sun/midp/palm/database/MakeMIDPApp.java:475)
        at com.sun.midp.palm.database.MakeMIDPApp.<init>(src/com/sun/midp/palm/database/MakeMIDPApp.java:224)
        at com.sun.midp.palm.database.MakeMIDPApp.main(src/com/sun/midp/palm/database/MakeMIDPApp.java:90)

In dem Jar-File ist definitiv das MANIFEST.MF drinne.

Habe auch schon einen anderen weg über zip (unter Linux) versucht, aber da wird das manifest nicht gefunden (obwohl es im Archiv dabei ist). Packe ich es unter Windows mit WinZip wird das manifest hingegen gefunden.

Wo ist mein Fehler? ?(

Zwirni
 
Unter Linux fehlen ihm die Umgebungsvariablen welche ihm sagen wo er die ganzen Libs finden kann. Ist eigentlich egal ob du das JAR-File unter Windows oder Linux erstellst, ist immer dasselbe drinnen. Erstelle es also ruhig unter Windows und nutze es unter Linux. Must halt nur schauen das der CLASSPATH (in der Java Anweisung) auch stimmt.
 
Das mit den Umgebungsvariablen ist nen guter Tipp, werd ich morgen mal prüfen.

Dumm ist nur, dass ich diese Datei unter Linux erstellen muss da dies ein Vorgang ist der aut der Webseite angestoßen wird. Kann mich ja nicht hinsetzen und jedesmal das benutzerspezifische Paket unter Windows packen .... ;) Ne andere Idee wäre wohl noch das Jarfile vorzubereiten und die Inhalte nachträglich hinzuzufügen.
 
Hab hier mal ein Programm entwickelt welches einem sämtliche relevanten Umgebungsvariablen für Java anzeigt.

Das Programm ist im Archiv für Windows und Linux jeweils als Konsolenversion vorhanden. Das .JAR -Archiv kann man folgendermassen starten (wer keine lust auf Binaries hat):
Code:
java -jar jsysinfoanwendung.jar

Wenn ich Zeit habe werde ich noch eine Onlineversion als Applet auf meine Webseite stellen.
 
Zurück
Oben