Я установил Java-8. Теперь я хотел вернуться к Java-7 по умолчанию, поэтому я набираю ...
/usr/libexec/java_home -v 1.7.0_40 --exec java -version
/usr/libexec/java_home -v 1.7.0_40 --exec javac -version
Но я все еще вижу ...
java -version
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b108)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b50, mixed mode)
Это работает ...
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home
Но я бы хотел более постоянное решение.
Кто-нибудь видит, что я делаю не так?
Вы можете использовать jEnv ( http://www.jenv.be/ ), который является «инструментом командной строки, который поможет вам забыть, как установить переменную среды JAVA_HOME для переключения между различными версиями JDK» (взято с домашней страницы проекта ).
Если вы знакомы с Ruby, JEnv похож на RVM или rbenv. Он помогает вам обрабатывать несколько разных JDK, установленных на вашем компьютере, без необходимости написания собственного скрипта для переключения с одного JDK на другой. Вы можете изменить текущую версию Java на основании, например, текущего каталога или файла конфигурации.
источник
Вы не можете переключаться между Java-версиями. В документации вы видите:
Если вы хотите вернуться к более старой версии, вам нужно удалить Java 8.
источник
Я хочу дополнить ответ @ nkadwa. Его предложение сработало, но только после изменения символической ссылки для CurrentSDK. Итак, вот модифицированный код:
источник