Терминал командной строки в Mac OS X показывает неправильную версию Java

Терминал командной строки в Mac OS X показывает неправильную версию Java

Я установил Java 1.7 на свой Mac

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

В командной строке я установил версию Java как

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

Теперь, когда я это сделаюjava -version

Показывает правильную версию Java. 'java 1.7'

Однако, когда я открываю новый терминал и делаю java -version,

снова показывает неправильную версию Java 'java 1.8' // Мне нужно использовать Java 1.7 для некоторых приложений

Как убедиться, что при каждом открытии терминала отображается правильная версия Java?

решение1

Похоже, у вас установлены оба (OSX Yosemite IIRC устанавливает 1.8 по умолчанию), попробуйте добавить 1.7 в java --alternatives и/или использовать указанный путь (символические ссылки прекрасно подходят для этого)

решение2

Пытаться

which java

Это должно сказать вам, где находится исполняемый файл. Я согласен с linuxdev2013, скорее всего, у вас установлено несколько версий. Я полагаю, что более новая версия, вероятно, находится в вашем пути.

решение3

Вы можете переключаться между установленными версиями JDK «на лету» прямо в терминале, используя:

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*'`

(используйте ту же команду, ~/.bash_profileчтобы задать требуемое значение по умолчанию!)

Связанный контент