![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#1 |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() Ich hab folgende Frage:
Wie erstellt man ein JAR-File "richtig", sodass es auf den verschiedensten Systemen lauffähig ist, wenn man auch "externe" JAR-Klassen mitbenutzt? Denn ich spiele mich derzeit damit in Eclipse unter Windows XP herum, und die einzige funktionierende Möglichkeit die ich bis jetzt gefunden habe war, in der Manifest.txt Class-Path: /C:/pfad/pfad/class.jar einzutragen. Jedoch ist das nicht wirklich "verteilungsfähig" denn es muss ja nicht jeder die Klassen am selben Ort abgespeichert haben (bzw. wenn das einer unter Linux startet stellt sich ja sowieso alles auf ![]() Denn die Systemvariable "Classpath" scheint nicht zu funktionieren. Weder in der normalen Windows Form C:/pfad/pfad/class.jar noch in der obigen funktioniert das Ausführen des jar files. Es kommt dann immer ein NoClassDefFoundError. Oder weiß jemand was ich falsch mache!? Herzlichen Dank, lg renew |
![]() |
![]() |
![]() |
#2 |
Elite
![]() |
![]() du koenntest den pfad ja relativ angeben.
Class-Path: libs/myjar.jar und dann lieferst du das libs verzeichnis incl allen jars einfach mit. die andere moeglichkeit die du hast ist einfach anzugeben dass dein jar von XYZ.jar abhaengt. dann hat der der deine app ausfuehrt dafuer zu sorgen dass XYZ im CLASSPATH ist.
____________________________________
Whoever built humanity left in a major design flaw: it was the tendency to bend at the knees. |
![]() |
![]() |
![]() |
#3 |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() Alles klar - danke!
Wobei mich das immer noch wurmt, dass der Classpath nicht funktioniert. Denn der Classpath wird beim Installieren der Middleware (die vorhanden sein muss) gesetzt und dann eben das benötigte JAR-File an dieser Stelle gleich mit geliefert. Das heißt (theoretisch) sollte dann mein Projekt überall laufen, wo die (sowieso benötigte) Middleware auch installiert ist. Aber das geht eben nicht, da die Umgebungsvariable anscheinend nicht beachtet wird..... |
![]() |
![]() |
![]() |
#4 |
Elite
![]() |
![]() die umgebungsvariable funktioniert. oder zumindest waer es sehr ueberraschend wenn es nicht funktionieren wuerd.
wichtig: CLASSPATH, nicht Classpath als variable setzen.
____________________________________
Whoever built humanity left in a major design flaw: it was the tendency to bend at the knees. |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|