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? 😞


Anmelden zum Antworten