Подтвердить что ты не робот

Несколько установок Java в Mac OS X Mavericks

Я загрузил JDK для Mac OS X 10.9.1 из Oracle, но мне пришлось снова установить еще одну Java с сайта Apple, так как Я не мог запустить затмение с ним.

Это две страницы, которые я упоминал.

Теперь у меня на компьютере установлено три java файла.

Установка A

/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

Установка B

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java

java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)

Установка C

/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/java

java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

Я обнаружил, что я легко могу удалить установку C, однако я не уверен, что это нормально.

Когда я вызываю java из командной строки, он указывает на установку A.

java -version
java version "1.7.0_51"

ls -alF `which java`
lrwxr-xr-x  1 root  wheel  74 Jan 15 09:12 /usr/bin/[email protected] -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
  • Есть ли способ использовать только один JDK 1.7 для Mavericks, удалив два из них безопасно?

ИЗМЕНИТЬ

После некоторой настройки и тестирования у меня установлен только один Java (1.6). У меня есть установка B, и теперь установка C связана с установкой A.

Для использования eclipse мне пришлось сделать уровень совместимости компилятора до 1.6, чтобы использовать его (с помощью java.lang.UnsupportedClassVersionError Unsupported major.minor version 51.0).

enter image description here

EDIT2

Это похоже на то, что произошло.

  • Установка Apple Java

    • Установка A
    • Установка B является символической ссылкой на A
  • Установка Oracle Java

    • Установка C
    • Изменена установка B, которая
      • Создан /System/Library/Frameworks/JavaVM.framework/Versions/A
      • Скопированные файлы из установки C (не символическая ссылка)
      • Сделать символический ток для версий /A

Я попытался установить Oracle Java только, удалив Apple Java, но у меня возникла ошибка установки, поэтому я предполагаю, что Apple Java требуется для установки Oracle Java.

4b9b3361

Ответ 1

Кажется, что JDK оракула можно просто удалить. Для eclipse я мог бы добавить установку A в качестве JRE по умолчанию из Java Build Path → JRE System Library → Installed JRES → Добавить...

enter image description here

Ответ 2

Укажите JVM для Eclipse

Вы можете указать версию JDK для использования с Eclipse в eclipse.ini. Это устранит проблему с запуском Eclipse.

-vm
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/java

Предупреждение. Добавьте эту конфигурацию до -vmargs.

Управляйте своей средой Java с помощью jenv

Гораздо проще поддерживать несколько версий JDK с jenv.

jenv для эквивалента rbenv, но для среды Java. Это позволяет легко переключаться между несколькими установками JDK (уже присутствует) и настраивать, какой из них использовать для каждого проекта.

Eclipse JDK