WCM Forum

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

blauesau 13.06.2003 20:50

Java - JAR - Classpath
 
Hi!

Ich starte ein JAR-File über java -jar xyz.jar, was auch funktioniert. Ich benötige aber desweiteren andere JAR-Files, auf die xyz zugreifen muss. Im JBuilder habe ich das einfach so gelöst, dass ich diese JARs bei den Project Properties als Required Libraries eingebunden habe. Soweit so gut. Da ich aber ein schlankeres JAR-File einerseits und Erweiterungsfähigkeit andererseits (man packt einfach neue JAR-Files ins selbe Verzeichnis) haben möchte, würde ich diese gerne ausgliedern.

Es geht um eine Client-Server-Applikation. Der Server braucht die JAR-Files der Clients, um über TCP gesendete Objekte auslesen und casten zu können, soviel zum Hintergrund. Das es mehrere verschiedene Clients gibt, gibt es auch mehrere JAR-Files, der Server muss aber mit allen kommunizieren können. Die Packages der Clients haben natürlich unterschiedliche Namen.

Meine Frage nun: Wie löse ich mein Problem, dass mein Server die JARs im selben Verzeichnis "erkennt" und korrekt "einbindet"?

Vielen Dank!

mfg,
BS

Tarjan 13.06.2003 23:21

Die jar Dateien müssen direkt im Classpath angegeben werden. Also im classpath die jar Datei inklusive Pfad eingeben. Ausnahme ist wenn die jar Dateien direkt im jre/lib/ext Verzeichnis liegen.

blauesau 14.06.2003 09:38

Komischerweise (ins jre\lib kopieren hab ich bereits versucht) funktioniert das auch nicht... Immer eine ClassNotFound Exception... :confused:

Smokey 14.06.2003 09:57

probiers mal im jre\lib\ext

unter windows 98 musst die classpath selber setzen

wennst also win98 hast machs so

--> gib mal unter der eingebeaufforderung "SET" ein

dann siehst du deine gesetzen klassenpfade.....

dann gib: set classpath="c:\jre\lib\ext\comm.jar" %classpath% ein

vergiss das %classpath am ende nicht sonst werden alle anderen gesetzen classpath einfach überschrieben dnan is nur noch der eine da!

das comm.jar hab ich als bespiel genommen musst halt den namen deiner jar datei angeben!!

aba wennst du tcp sachen machen willst brauchst eh die comm datein

aja nochwas welche version von java verwendest du? ich würd mir an deiner stelle die neueste runterladen mit einer alten hab ich mal probleme mit der comm klasse gehabt!

ich hoffe ich konnte helfen!

mfg Smokey

blauesau 14.06.2003 10:26

Hallo!

Ich verwende das neueste SDK, 1.4.1_03. Betriebssystem ist Windows XP.

Ich weiß nicht wo ich das JAR + das entpackte JAR schon überall hinkopiert habe, aber ganz egal wohin - er findet die benötigten Dateien nicht.

Muss im Quellcode bereits irgendwas vermerkt werden, eben dass er auf extrene Ressourcen (besagte JAR-Files) zugreifen muss? Wie gesagt, bisher wurde es so gelöst, dass ich die benötigten JARs als Required Libraries in den Projekteigenschaften im JBuilder eingetragen hatte.

Smokey 14.06.2003 10:51

nein du musst nur die classe implimentieren im source-code!

du hast die datein alle nach anleitung in die verzeichnisse kopiert?

die .dll auch??

aja die jar file kopier am besten in folgende verzeichnisse

\java\jsdk1.4\lib
\java\jsdk1.4\jre\lib
\java\jsdk1.4\jre\lib\ext

und die dll in (glaub ich) bin leider ned zuhause kann dann nachschaun

\java\jsdk1.4\bin
\java\jsdk1.4\jre\bin

wenn du die datein dort überall hast sollte es gehn

probiers am besten mit dem beispiel das dabei ist!

--> Blackbox steht eh dort wie man das startet da is eine readme dabei beim comm directory!

mfg Smokey

Tarjan 14.06.2003 11:59

jar File entweder ins ...\jre\lib\ext kopieren oder direkt im Classpath angeben: c:\source\zusatz.jar

ReiniBugman 16.06.2003 20:57

Bei der Installation des SDK's wird die JAVA-Runtime auch noch
in c:\Programme\Java\JRE1.4.x installiert und dort gibt es
natürlich auch ein "lib\ext"-Verzeichnis.
Üblicherweise ist das das Verzeichnis wo die Runtime nachschaut.
Um ganz sicher zu gehen könntest du auch noch in der Registry nachschauen welches Verzeichnis nun denn von JRE benutzt wird.
Zu finden unter HKLM\Software\JavaSoft\Java Runtime Environment\1.4.x


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:58 Uhr.

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