Как я могу полностью удалить Apple Java 6 и сделать Oracle 7 по умолчанию для всех?


12

Я хотел бы полностью удалить Apple Java 6 и сделать Oracle Java 7 по умолчанию для каждой программы. Например, с Eclipse мне пришлось поиграться с eclipse.ini, чтобы указать JAVA_HOME для Java 7, и то же самое для TunnelBear. Но для Aptana не повезло (ему все еще нужна Java от Apple). Есть ли способ сделать Oracle по умолчанию для Java с точки зрения PATH?

macos  java 

1
Я думаю, что Java 7 является значением по умолчанию для PATH, поскольку / usr / bin / java должна быть Java 7. Однако проблема в том, что у .apps есть что-то еще в их файлах
.plist

Ответы:


4

Загрузите и установите последнюю версию Java Development Kit (JDK) из Oracle, в которую он будет помещен /Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk(или какой бы ни была последняя версия). Теперь запустите Terminal.app и введите следующие команды:

  1. cd /System/Library/Java/JavaVirtualMachines (перейдите в соответствующий каталог)

  2. sudo mv 1.6.0.jdk backup.1.6.0.jdk (держите старый JDK на всякий случай - для этого вам понадобится пароль администратора)

  3. sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_11.jdk 1.6.0.jdk (свяжите вашу новую установку JDK с тем, где приложения ожидают, что старая будет)

Имейте в виду, что при любых дальнейших обновлениях jdk вам нужно будет обновить символическую ссылку на новый каталог:

sudo rm /System/Library/Java/JavaVirtualMachines/1.6.0.jdk && sudo ln -s /Library/Java/JavaVirtualMachines/new_jdk_version /System/Library/Java/JavaVirtualMachines/1.6.0.jdk

Вы не должны создавать символическую ссылку 1.6.x, приложение не будет ожидать, что jdk будет в / System. Во всяком случае, вы должны установить JAVA_HOME в своем профиле.
anddam

2

Эти инструкции хорошо работали для меня на OS X Mavericks.

  • Удалить Apple JVM

    $ sudo rm -rf /System/Library/Java/JavaVirtualMachines/
  • Удалить записи установщика

    $ sudo rm /private/var/db/receipts/com.apple.pkg.JavaForMacOSX*
  • Удалить квитанции установщика (удалить <dict>...</dict>записи, которые ссылаются на com.apple и java)

    $ sudo emacs /Library/Receipts/InstallHistory.plist
  • Установите символические ссылки для Java 7

    $ sudo rm /usr/bin/java
    $ sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/bin/java /usr/bin/java
  • Опционально символическая ссылка JAVA_HOME

    sudo rm /Library/Java/Home
    sudo ln -s /Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home /Library/Java/Home

0

Что ж, если вы установите последнее обновление Java от Apple, это фактически должно удалить Java 6. Вы можете перейти на веб-сайт Oracle напрямую, чтобы загрузить Java 7. Именно это я и сделал. Если в вашей системе установлена ​​только Java 7, это должно сделать ее по умолчанию.


На Lion обновление Java не удаляло java от Apple - / usr / bin / java теперь является Java 7, но Java 6 все еще может использоваться как/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java
user151019

Я использую только Java 7, и получать обновления Apple на Java довольно утомительно. Я хочу это - кому-нибудь уже удалось это сделать? (т. е. так много, что Apple не будет продвигать специфичные для Java обновления; у меня все в порядке, принимая все напрямую через Oracle).
akauppi

0

Я знаю, что это старая ветка, но если у вас на компьютере установлен Adobe CS5, он ДОЛЖЕН ИМЕТЬ версию Java 1.6 для Apple, чтобы пакет мог работать. Я использовал Eclipse, который нуждался в 1,7 или выше. Я думал, что это заменит версию Apple, но это не так. Версия Apple находится в папке System / Library, а версия Oracle - в папке Library.

Думаю, я бы добавил немного больше информации для тех, кому эта информация может понадобиться.

OS X Lion


Эта информация содержится в других ответах
user151019

Не проверял. Сожалею.
KDD
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.