Jar Programme nur mit SDK ausführen?

Hallo, hab die neue SDK 1.6.0-3 installiert und die alte JRE runtergeschmissen. Leider kann ich nun keine *.jar Programme mehr ausführen. Die JRE ist ja im SDK dabei, also denke ich mal, es fehlen die Pfade.
Ich hab also eine Systemvariable JAVA_HOME angelegt und auf C:\Program Files\JAVA\jdk\jre gesetzt (auch …\jre\bin probiert) aber ohne Erfolg.

Andererseits kann ich z.B. z.B mit folgender Zeile
„C:\Program Files\Java\jdk\jre\bin>java -jar c:\tools\jdiskreport-1.2.3.jar“
ein Programm starten, ist nur umständlich auf die Dauer. Jemand ne Idee?

Hi,

was du brauchst ist die Systemvariable CLASSPATH z.B.

.;C:\Programme\Java\jaf-1.1\activation.jar;C:\Programme\Java\sax2r3\sax2.jar;c:\Programme\Java\jdk1.6.0_02\tools.jar;C:\Programme\Java\jdk1.6.0_02\bin;

und die Systemvariable PATH z.B.

.;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Programme\QuickTime\QTSystem;c:\Programme\Java\jdk1.6.0_02\bin;C:\Programme\Java\jdk1.6.0_02\lib\tools.jar;

Danke, aber so ganz klar ist mir das noch nicht.

Die CLASSPATH Variable muss worauf gesetzt werden? Auf die lib? Auf die lib im JDK oder JRE?

Das Problem scheint mir die Verknüpfung der jar Programme in Windows zu sein. Zwar kann ich *jar mit java.exe oder javaw.exe verknüfpfen, aber das erforderliche -jar %1 kann ich irgendwie in VISTA nicht übergeben. Weiß jedenfalls nicht wie.

Als ich noch das JRE hatte wurde die VM auch beim Booten gestartet, das sehe ich jetzt auch nicht mehr. Ist das vielleicht der Grund?

Andererseits kann ich z.B. z.B mit folgender Zeile
„C:\Program Files\Java\jdk\jre\bin>java -jar c:\tools\jdiskreport-1.2.3.jar“
ein Programm starten, ist nur umständlich auf die Dauer. Jemand ne Idee?

du kannst es aus dem Grund starten, weil von vornherein nach den erforderlichen Klassen immer im aktuellen Verzeichnis gesucht wird (hier : C:\Program Files\Java\jdk\jre\bin ). Wenn du dich nicht in C:\Program Files\Java\jdk\jre\bin bedindest, so musst du den Pfad als Paramter übergeben (ich glaub bei mit java -classpath Pfad Javaklasse ) oder den Pfad in den CLASSPATH übernehmen.

Hallo.

du kannst es aus dem Grund starten, weil von vornherein nach
den erforderlichen Klassen immer im aktuellen Verzeichnis
gesucht wird (hier : C:\Program Files\Java\jdk\jre\bin ). Wenn
du dich nicht in C:\Program Files\Java\jdk\jre\bin bedindest,
so musst du den Pfad als Paramter übergeben (ich glaub bei mit
java -classpath Pfad Javaklasse ) oder den Pfad in den
CLASSPATH übernehmen.

Das ist nicht notwendig, schau mal hier: http://java.sun.com/javase/6/docs/technotes/tools/fi…
Java findet die mitgelieferten Klassen auch ohne gesetzten Classpath. Der muss nur gesetzt werden für installierte Erweiterungen oder falls die zu startende Anwendung dies benötigt.
Das Problem liegt offenbar darin, dass der Fragesteller es nicht hinbekommt, in Vista die Verknüpfung von jar-Dateien so zu ändern, dass der Parameter -jar beim Aufruf mit übergeben wird.

Da ich kein Vista mein eigen nenne, kann ich dazu allerdings nichts sagen, außer, wie es bei XP geht (vielleicht ist es bei Vista ja ähnlich). Ich gehe davon aus, dass du schon eine Verknüpfung zwischen jar-Dateien und javaw.exe hast, nur der Parameter ergänzt werden muss.

Dazu gehst du im Explorer auf Ansicht - Ordneroptionen - Dateitypen, wählst dort jar aus und klickst auf Erweitert. Dort open auswählen und auf Bearbeiten klicken. Unter „Anwendung für diesen Vorgang“ etwas eintragen, dass ähnlich zu diesem ist:
„C:\Programme\Java\jre\bin\javaw.exe“ -jar „%1“ %*

Alternativ geht das auch über die Registry, das sollte bei Vista eigentlich analog zu XP gehen.
Start - Ausführen - regedit.
HKEY_CLASSES_ROOT.jar aufrufen. Entweder dort gibt es „Unterordner“ oder bei „(Standard)“ steht ein Verweis drin. Bei mir steht unter „(Standard)“ „jarfile“. Daher muss ich dann bei HKEY_CLASSES_ROOT\jarfile schauen.
Dort dann shell\open\command öffnen und bei „(Standard)“ „„C:\Programme\Java\jre1.5.0_06\bin\javaw.exe“ -jar „%1“ %*“ eintragen.

Gruß,
Sebastian.