WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Java - JAR - Classpath (Deployment?) (http://www.wcm.at/forum/showthread.php?t=165931)

renew 14.05.2005 17:30

Java - JAR - Classpath (Deployment?)
 
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

Who-T 20.05.2005 02:23

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.

renew 23.05.2005 13:55

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.....

Who-T 24.05.2005 02:31

die umgebungsvariable funktioniert. oder zumindest waer es sehr ueberraschend wenn es nicht funktionieren wuerd.

wichtig:
CLASSPATH, nicht Classpath als variable setzen.


Alle Zeitangaben in WEZ +2. Es ist jetzt 03:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag