Eclipse в OS X использует другую версию Java, чем CLI
Когда я набираю java -version
в консоли, я получаю java version "1.8.0_05"
. Мягкая ссылка /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
указывает на /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents
. В окне настроек java единственная версия Java - 1,8. JAVA_HOME имеет значение /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
.
Однако, когда я пытаюсь запустить Eclipse.app, я получаю ошибку: Version 1.6.0_65 of the JVM is not suitable for this product. Version: 1.7 or greater required.
Я считаю, что он пытается использовать /System/Library/Java/JavaVirtualMachines
, и в этом каталоге единственная версия 1.6.0.jdk
.
Как я могу заставить eclipse использовать правильную версию Java?
Ответы
Ответ 1
Загрузите 64-разрядную версию Eclipse вместо 32-разрядной версии.
Причина в том, что Eclipse содержит собственный машинный код (для графического интерфейса), поэтому есть и 32-разрядная, и 64-разрядная версия Eclipse, и это явно требует соответствующей версии Java. Первоначально Apple создавала обе версии до Java 6, но Oracle только создает 64-битную версию (к большому разочарованию владельцев старых машин). Таким образом, если вы загрузите 32-разрядную версию Eclipse, она будет работать только с JVM Apple, которая, по-видимому, слишком старая (что меня удивляет - я думал, что Java 6 все еще поддерживается для Eclipse 4.4)
Ответ 2
Я решил эту проблему в своем mac с yosemite:
- Установленный JDK для MACOSX 64 бит из https://jdk8.java.net/download.html
- Внутри eclipse.ini я помещаю эту строку:
-vm/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
И это сработало для меня!
Ответ 3
Я столкнулся с этой же проблемой, но вместо того, чтобы использовать ее в версии 1.8, я изменил настройки в файле eclipse.ini
, чтобы я мог просто запускать программу независимо от того, какую версию jvm она хочет использовать
Решение:
Откройте каталог, в котором у вас на компьютере Eclipse.
Вы увидите имя файла eclipse
, нажмите клавишу control
и click
, чтобы просмотреть параметры.
Затем нажмите на Show Original
из параметров, там вы найдете файл eclipse.ini
, чтобы открыть его с помощью текстового редактора и изменить -Dosgi.requiredJavaVersion=1.7
на -Dosgi.requiredJavaVersion=1.6
Сохраните файл и откройте ecplise.app
, который он должен открыть без ошибок
Ответ 4
Попробуйте добавить следующие строки в eclipse.ini
:
-vm
/Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
Может быть, может помочь и более новая версия eclipse (если ваша устарела).
Ответ 5
Взгляните на System Preferences
→ Java
. Он должен открыть Java Control Panel
. В панели проверьте, есть ли у вас один (или много) JDK.
Я подозреваю, что у вас много, и вы устанавливаете JDK в свой .profile
, в то время как Eclipse считывает некоторые другие Java файлы.
Вы можете изменить их вручную, запустив это в своем терминале
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
Чтобы проверить, работает ли он, запустите java -version
, и вы увидите что-то вроде
java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)
Попробуйте вызвать Eclipse сейчас из командной строки. Чтобы вызвать Eclipse как приложение, просто установите Java8 через Java Control Panel
. Это будет прочитано при запуске Eclipse.
Это то, что у меня есть на моем Java Control Panel
:
![enter image description here]()
Это на моем Eclipse Luna:
![enter image description here]()
Ответ 6
Download the 64-bit version of Eclipse.
Это решило проблему. Спасибо всем.