Как я могу изменить Java VM по умолчанию Mac OS, возвращенную из / usr / libexec / java_home

(Не был уверен, стоит ли это делать с SU ... миграция, безусловно, вариант, но больше программистов читают вопросы здесь, так что здесь).

Я использую Mac OS X 10.8.4, и у меня установлена JDK 1.6.0_51 от Apple, а также JDK 1.7.0_25 от Oracle. Недавно я установил Oracle 1.8 Preview JDK для некоторой предварительной версии программного обеспечения, которая в этом нуждается. Теперь, когда я запускаю / usr / libexec / java_home, я получаю это:

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (4):
    1.8.0, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home
    1.7.0_25, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
    1.6.0_51-b11-457, x86_64:   "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_51-b11-457, i386: "Java SE 6" /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

Отлично.

Однако работает:

$ java -version

Возвращает:

java version "1.8.0-ea"

Это означает, что версия Java по умолчанию в настоящее время является предварительной версией, которая нарушает некоторые «нормальные» пакеты (в моем случае, VisualVM).

Я не могу установитьJAVA_HOME потому что запуск приложений игнорирует переменные среды, даже при запуске из командной строки (например,$ open /Applications/VisualVM.app).

Итак, есть ли файл, который я могу отредактировать, где я могу установить свои предпочтения упорядочивания JVMглобально?

(Пожалуйста, не говорите мне, чтобы я запускал панель настроек Java, потому что она просто не работает: она не содержит ничего полезного и содержит только одну из 4 JVM, которые я установил.)

Обновить:

Oracle JVM живут в/Library/Java/JavaVirtualMachines, Переименование каталога JDK 1.8 вjdk1.8.0.jvm.xyz ничего не меняетjava_home по-прежнему находит его в нужном месте, а выполнение / usr / bin / java все еще выполняет 1.8 JVM. Это не проблема с ссылками и т. Д.

Ответы на похожие вопросы

Покаэтот ответ предлагает то, что равносильно взлому, который удалит версии Java из списка java_home, но все еще не отвечает на этот вопроскак java_home выбирает его по умолчанию и могут ли пользователинеразрушающий набор.

Ответы на вопрос(10)

Ваш ответ на вопрос