Befehlszeilenterminal in Mac OS X zeigt falsche Java-Version an

Befehlszeilenterminal in Mac OS X zeigt falsche Java-Version an

Ich habe Java 1.7 auf meinem Mac installiert unter

/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home

In der Kommandozeile stelle ich die Java-Version ein als

export JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home'

Wenn ich das jetzt tuejava -version

Es zeigt die richtige Java-Version 'java 1.7'

Wenn ich jedoch ein neues Terminal öffne und dies tue java -version,

es zeigt wieder die falsche Java-Version an 'java 1.8' // Ich muss für bestimmte Anwendungen Java 1.7 verwenden

Wie stelle ich sicher, dass jedes Mal, wenn ich das Terminal öffne, die richtige Java-Version angezeigt wird?

Antwort1

Scheint, als ob Sie beides installiert haben (OSX Yosemite installiert, wenn ich mich recht entsinne, standardmäßig 1.8). Versuchen Sie, 1.7 zu Ihren Java-Alternativen hinzuzufügen und/oder verwenden Sie den definierten Pfad (symbolische Links sind hierfür sehr gut geeignet).

Antwort2

Versuchen

which java

Dies sollte Ihnen sagen, wo sich die ausführbare Datei befindet. Ich stimme linuxdev2013 zu, es ist wahrscheinlich, dass Sie mehrere Versionen installiert haben. Ich stelle mir vor, dass sich die neuere Version wahrscheinlich in Ihrem Pfad befindet.

Antwort3

Sie können im Terminal im laufenden Betrieb zwischen den installierten Versionen des JDK wechseln, indem Sie Folgendes verwenden:

export JAVA_HOME=`/usr/libexec/java_home -v '1.6*'`
export JAVA_HOME=`/usr/libexec/java_home -v '1.7*'`
export JAVA_HOME=`/usr/libexec/java_home -v '1.8*'`

(Verwenden Sie denselben Befehl ~/.bash_profileauch, um den erforderlichen Standard festzulegen!)

verwandte Informationen