Ermitteln der richtigen Pfad für JAVA_HOME
ist ein bisschen komplex auf einem Ubuntu System, weil es Alternativen verwendet. Auf meinem Rechner erstellen Alternativen mindestens zwei Dereferenzierungsstufen, bevor sie das eigentliche Java oder Java erreichen.Was ist der korrekte Pfad für JAVA_HOME auf einem Linux-System, das Alternativen verwendet?
usr/bin/javac -> /etc/alternatives/
/etc/alternatives/java -> /usr/lib/jvm/jdk1.7/bin/javac
Wenn ich JAVA_HOME
-/usr/lib/jvm/jdk1.7
gesetzt ist, dann ist es möglich, dass mein System java inkonsistent werden könnte mit der Java von JAVA_HOME
darauf, wenn ich Alternativen zu aktualisieren andere Java zu verwenden.
Meine Frage ist, was ist der korrekte Wert für JAVA_HOME
auf einem System, das Alternativen verwendet. Ich bin geneigt zu glauben, dass JAVA_HOME
sollte /usr
Auf diese Weise TOMCAT oder jede andere Software eingestellt werden, die es verwendet, wird ‚bin‘ zu JAVA_HOME
anhängen und finden Sie alle ausführbaren Dateien die es braucht.
Ist dies der richtige Wert für JAVA_HOME
auf Systemen, die Alternativen verwenden. Verwenden die meisten Programme JAVA_HOME
nur, um die ausführbaren Dateien zu finden, oder würden sie den Wert verwenden, um andere Artefakte (wie die Sicherheitsrichtlinie fil usw.) zu finden, die im Lieferumfang des JDK enthalten sind? Wenn ersteres wahr ist, dann glaube ich, dass wir /usr
für JAVA_HOME
verwenden können, aber wenn letzteres wahr ist, dann denke ich, dass der einzige Weg, JAVA_HOME
korrekt zu verwenden, darin besteht, die Alternativen-Funktionalität zu opfern.
Ich sah nur auf meinem CentOS 5.5-System: 1) Ich habe * nicht * JAVA_HOME definiert irgendwo in meiner Umgebung, 2) /etc/tomcat5/tomcat5.conf hat diese Zeile : 'JAVA_HOME ="/usr/lib/jvm/java "', 3)/usr/lib/jvm/java ist ein Symlink: 'java ->/etc/alternatives/java_sdk', 4)/etc/alternatives/java_sdk ist auch ein Symlink: 'java_sdk ->/usr/lib/jvm/java-1.4.2-gcj'. – paulsm4
Ja, ich habe 'default-java' auf Ubuntu anstelle von 'java' in/usr/lib/jvm Also, ich denke, der Trick ist, sich überhaupt keine Gedanken über Alternativen zu machen, da es zwischen Alternativen und Java noch eine weitere Ebene gibt. – Parag