JAVA_HOME per Batch-Datei finden
-
Auf manchen Systemen ist eine JRE oder ein JDK installiert, aber merkwürdigerweise kein JAVA_HOME oder JRE_HOME in den Umgebungsvariablen gesetzt (So z.B. hier auf einem Windows Vista Home Rechner nach einer JDK Installation)
Wie kann ich nun per Batch sicher das Installationsverzeichnis von Java finden?
(Hintergrund: Tomcat automatisch starten ohne manuell JAVA_HOME angeben zu müssen, die java(w).exe in windows\system32 genügt hier nicht)
-
Ist vielleicht die Path Variable auf das JDK/JRE gesetzt?
-
Mir fällt da gerade ein versuchst mal mit den System properties
Properties sysprops = System.getProperties(); Enumeration propnames = sysprops.propertyNames(); while (propnames.hasMoreElements()) { String propname = (String)propnames.nextElement(); System.out.println( propname + "=" + System.getProperty(propname) ); }
Schau mal nach java.home
-
Danke, die Property java.home is mit bei und hier auch richtig gesetzt .
-
Weißt Du auch, wie ich die Umgebungsvar dann richtig setzen kann?
String cmd = "set JAVA_HOME=" + System.getProperty("java.home"); try { Runtime.getRuntime().exec(cmd); } catch (IOException e) { e.printStackTrace(); }
Bringt mir unter Windows Vista Home:
java.io.IOException: Cannot run program "set": CreateProcess error=2, Das System kann die angegebene Datei nicht finden
Und in der Batch einfach "set JAVA_HOME=java JHome" schreiben geht ja auch nicht so direkt (JHOME druckt das java.home einfach nur auf die Konsole).
-
Probiers mal mit System.setProperty( prop, value) weiss nicht ob das klappt.
-
JavaMan schrieb:
Probiers mal mit System.setProperty( prop, value) weiss nicht ob das klappt.
Nein, geht leider nicht.
-
Hm...hat jemand noch ne Idee dazu?