jar Importieren und wieder exportieren

BastianW

Mitglied
Hallo zusammen,

ich hoffe ich werde für meine warscheinlich blöde frage nicht gleich gesteinigt :-)..

Ich habe hier eine code.jar die beinhaltet (*.class, *.java und die manifest Datei). Die code.jar läuft auch prima, nur muss ich jetzt in dieser Datei einen Hostnamen verändern. Es wurde leider nicht mit einer Externen configdatei gelöst sondern ist im Code fest verdrahtet.

Nunja... da ich PHP, VB.Net, usw. Kenntnisse bin ich in der Firma nun der "dumme" der sich dem Problem annehmen muss. Ich bin also hergegangen und habe in Eclipse ein neues Project erstellt und die code.jar importiert. Dann habe ich *.class dateien über eclipse gelöscht und den Hostnamen geändert. Daraufhin das ganze dann wieder exportiert.

Die exportiere *.jar Datei ist aber nicht lauffähig. Ich vermute mal weil da keine *.class Dateien drinn sind. Ich bekomme beim ausführen die FM "exception in thread main java.lang.NoClassDefFoundError"

Hat jemand eine idee oder kann mir einen Tip (wenn es nicht gerade RTFM wie in den anderen Foren ist) geben?
 
Moin!
Probiers doch mal so:
jar -xf Archive.jar Main.java // Main.java aus Archiv extrahieren
//Main.java wie gewünscht editieren
javac -cp Archive.jar Main.java // geänderte Java datei kompilieren, alle benötigte Jar archive in klassenpfad setzen
jar -uvf Archive.jar Main.class// Neu kompilierte Klassendatei in Archiv einfügen

*grüssle*
MeinerEiner
 
Zuletzt bearbeitet von einem Moderator:
Hallo, auch wenn nicht ganz so hier her passt, hab ich auch grad ein Problme mit meiner Jar Datei.

Ich hab mal ein kleines Beispiel gemacht, was im Doscommander wunderbar funktioniert.
Code:
java -jar test.jar
Aber wenn ich auf die Jar doppelklicke, sehe ich keine Ausgabe. Er tut nur so, als ob er kurz rechnen würde und das wars :confused:
In BlueJ funktiononiert auch alles prima.

Ich hänge mal die Datei an. Ich schätze mla die Lösung des Problems ist recht einfach, deswegen hab ich mal keinen neuen Thread aufgemacht.
 

Anhänge

@Tio01

bitte erstelle ein eigenes Thema... dein Problem hat mit meinem ziemlich wehnig zu tun... Danke

@MeinerEiner_80
Wie setzte ich denn den "klassenpfad" unter dos? Bis jetzt "arbeite/spiele" ich nur mit eClipse...
 
"-cp" Parameter um den Klassenpfad beim Starten anzugeben. Als Argumente sind zulässig die Verzeichnisse in denen sich die Klassendateien befinden und der Pfad zu einem benötigten JAR Archiv, jeweils getrennt durch Semikolon.
Bsp:
java -cp C:\dirToUsedClasses1; C:\usedJar\archive.jar StartClass
Und, seit Java 6, um alle Archive eines Verzeichnisses in den Klassenpfad aufzunehmen:
java -cp 'C:\libs\*' StartClass

*grüssle*
MeinerEiner
 
Zuletzt bearbeitet von einem Moderator:
So... Problem behoben... das ganze war ziemlich Simpel... ich habe beim Importieren des ganzen in eClipse die Option mit dem automatischen Foldern angehackt.

Aber ohne die Erklärung mit dem Klasspath wäre ich da nicht drauf gekommen...
 
Zurück