Как запустить Eclipse с помощью Oracle 1,7 JDK для Mac?
Я пытаюсь получить новый 1.7 JDK, работающий с Eclipse (это официальный выпуск Oracle).
Я не хочу просто указывать Eclipse на него, чтобы вы могли использовать его в проектах, это прекрасно работает, но фактически заставляет Eclipse работать с использованием 1,7 JVM.
Я переместил новую JVM в начало списка в Java Preferences, но Eclipse по-прежнему начинается с 1.6. Если я отключу 1.6 в настройках Java, я получаю диалог сразу после того, как дважды щелкнул Eclipse, говоря "Не удалось создать виртуальную машину Java".
edit: я добавил следующее к моему eclipse.ini как раз перед -vmargs:
-vm
/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home/bin/java
В диалоговом окне подробных сведений об установке Eclipse я все еще вижу:
java.runtime.version=1.6.0_31-b04-415-11M3646
edit 2: вот содержимое моего файла eclipse.ini: https://gist.github.com/2512578
Ответы
Ответ 1
Я только что добавил свой комментарий к https://bugs.eclipse.org/bugs/show_bug.cgi?id=339788 относительно неспособности использовать новый JDK для Oracle с Eclipse в OS X. Используя -vm опция внутри eclipse.ini не работает. Единственный способ, с которым я столкнулся, это использовать следующую оболочку script:
#!/bin/sh
#
export JAVA_HOME=/Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
LAUNCHER_JAR=/Applications/eclipse/plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
java \
-showversion \
-XX:MaxPermSize=256m \
-Xms1024m \
-Xmx1024m \
-Xdock:icon=/Applications/eclipse/Eclipse.app/Contents/Resources/Eclipse.icns \
-XstartOnFirstThread \
-Dorg.eclipse.swt.internal.carbon.smallFonts \
-Dosgi.requiredJavaVersion=1.5 \
-jar $LAUNCHER_JAR
Используя шаги http://mathiasbynens.be/notes/shell-script-mac-apps, я превратил script в приложение, которое я могу хранить на доке.
Ответ 2
Есть и другой способ. Добавьте еще две строки до -vmargs в файле .ini:
-vm
{YOUR_JAVA_7_HOME}/jre/lib/server/libjvm.dylib
(помните, что это должны быть отдельные строки), а также добавить соответствующую запись в файл "Info.plist" (добавить или изменить элементы массива в разделе "Eclipse" - каждый дочерний элемент строки соответствует параметру командной строки).
...
<key>Eclipse</key>
<array>
<string>-vm</string>
<string>/{MY_VM_HOME}/jre/lib/server/libjvm.dylib</string>
...
</array>
В качестве альтернативы просто используйте параметр командной строки -vm {YOUR_JAVA_7_HOME}/lib/server/libjvm.dylib
при запуске eclipse с терминала.
Ответ 3
По-видимому, есть исправление для Kepler, которое должно появиться в следующем выпуске службы.
Между тем есть обходное решение, упомянутое в этой ошибке, которое позволит вам запустить eclipse, не устанавливая JRE 1.6 у Apple: https://bugs.eclipse.org/bugs/show_bug.cgi?id=411361#c20
Это позволит вам запустить затмение от искателя или прожектора, но не док-станции.
Я только что протестировал это на OS X Mavericks, который во время обновления теряет jre 6 и просит его установить, когда вы пытаетесь запустить Eclipse. Конечно, у меня есть последний Oracle JDK 1.7.
Откажитесь от этого, а затем, чтобы обойти это, отредактируйте возможности jvm в /Library/Java/JavaVirtualMachines/jdk 1.7.0_45.jdk/Contents/Info.plist
<key>JVMCapabilities</key>
<array>
<string>CommandLine</string>
<string>JNI</string>
<string>BundledApp</string>
<string>WebStart</string>
<string>Applets</string>
</array>
С этим исправлением вам не нужно указывать vm в eclipse.ini.
Ответ 4
На Mac выше, похоже, не работает. Для меня с Eclipse KEPLER он работал, добавляя
-vm /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/
в конце моего eclipse.ini(без этой строки)
Это, наконец, изменило мою Eclipse Installation Details > Configuration из
-vm/System/Library/Frameworks/JavaVM.framework
to
-vm/Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home/bin/../jre/lib/server/libjvm.dylib
Это помогло не работать с моей установкой Eclipse INDIGO.
Ответ 5
После установки Oracle JRE и JDK откройте Info.plist внутри Eclipse.app(щелкните правой кнопкой мыши, покажите содержимое) и вставьте после "Eclipse"
"-vm/System/Library/Frameworks/JavaVM.framework/JavaVM"
Моя выглядит следующим образом:
<key>Eclipse</key>
<array>
<string>-vm</string><string>/System/Library/Frameworks/JavaVM.framework/JavaVM</string>
<string>-keyring</string><string>~/.eclipse_keyring</string>
<string>-showlocation</string>
</array>
Если вы это сделаете, вам не придется обновлять файл после обновления JRE.
Ответ 6
Просто отредактируйте
Eclipse.app/Contents/Info.plist
Вы должны использовать определенную версию Java (вместо платформы по умолчанию) раскомментируйте одну из следующих опций:
<string>-vm</string>
<string>/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java</string>
Это помогло мне откат с 1.7.0 до 1.6.0.
Ответ 7
Проверьте, что ваш java_home является corrento в /usr/libexec/java _home;
Не изменяйте свой eclipse.ini и отредактируйте файл Info.plist и измените/добавьте эту строку < строкa > -vm </Строкa > < строкa > /Library/Java/JavaVirtualMachines/'JDK-версия-ваш'/Содержание/Главная/бен/Java </Строкa > и сохранить. Откройте Eclipse и закончите!
Для меня это сработало, и использовать javafx e (fx) clipse!
PS: В системе Mac OS X вы можете найти Info.plist, щелкнув правой кнопкой мыши (или Ctrl + щелчок) в исполняемом файле Eclipse в Finder, выберите "Показать содержимое пакета", а затем найдите Info.plist в папке "Содержание".
Ответ 8
Предполагая, что вы используете версию Eclipse, которая поддерживает Java 7 (я считаю, что все 3.7 и выше), вы должны указать JVM, используемую Eclipse в файле eclipse.ini. Если вы откроете его, вы увидите свойство "-vm", за которым следует каталог JVM, который вы используете в настоящее время. Вы должны просто изменить этот каталог на свою установку 1.7.
Примечание. Я не использовал Eclipse на Mac, поэтому имя файла конфигурации может быть другим.
Ответ 9
Начиная с 2012-04-28, это известная неразрешенная ошибка в приложении Eclipse 3.7 SR2 launcher.
См. https://bugs.eclipse.org/bugs/show_bug.cgi?id=339788
Ответ 10
У меня была эта проблема. Я исправил его, понизив и загрузив JDK 7.
Ответ 11
У меня возникла аналогичная проблема после загрузки и установки Titanium. Мое затмение сработало, но Titanium этого не сделал, и поэтому я закончил поиск в файле конфигурации, чтобы увидеть, что было другим
Eclipse имел
eclipse.p2.profile=epp.package.standard
Титан имел
eclipse.p2.profile=profile
После изменения выше, чтобы соответствовать конфигурации eclipse, я смог запустить Titanium
Ответ 12
Это разрешилось для меня за несколько кликов.
GoTo Eclipse - > Preference - > Java - > Installed JRE - > Add button - > Standard VM
и перейдите на главную страницу JRE Home до /Library/Java/JavaVirtualMachines/jdk1.7.0_55.jdk/Contents/Home
и добавьте собственное имя. После указания пути JRE требуемые файлы Jar будут автоматически добавлены и нажмите "Готово". Убедитесь, что jdk уже установлен.
Ответ 13
Для меня это работало исправление, предложенное в https://bugs.eclipse.org/bugs/show_bug.cgi?id=411361#c25:
#!/bin/bash
# Workaround for https://bugs.eclipse.org/411361
# "[Mac] Kepler doesn't launch without JRE 6, even if JDK 7 is installed"
#
# Put this launch.command into the same folder as Eclipse.app.
#
# If necessary, adapt JAVA_EXECUTABLE to the full path to your Java executable:
JAVA_EXECUTABLE=java
cd "$(dirname "$0")"
$JAVA_EXECUTABLE \
-Djava.library.path="$(echo plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_*/eclipse_*.so)" \
-Xms512m \
-Xmx2048m \
-Xdock:icon=Eclipse.app/Contents/Resources/Eclipse.icns \
-XstartOnFirstThread \
-Dorg.eclipse.swt.internal.carbon.smallFonts \
-XX:MaxPermSize=256m \
-jar "$(echo plugins/org.eclipse.equinox.launcher_*.jar)" \
-os macosx \
-ws cocoa \
-arch x86_64 \
-showsplash \
-name Eclipse \
--launcher.appendVmargs \
-debug \
-showlocation \
-consolelog
Ответ 14
По умолчанию ваш MacOSX поставляется с JRE 1.6.0, который не подходит для Eclipse. Чтобы решить проблему, вам также необходимо установить JDK 7, который уже включает JRE 1.7.0.
Вот ссылка, которую вы можете скачать.
Просто выберите версию MacOS X под Java SE Development Kit 7u79 и установите ее.
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
После установки этого пакета Eclipse начнется без каких-либо изменений.
Ответ 15
простое решение. на другой поток здесь. загрузите Java с apple.com вместо Oracle. Он полностью устранил проблему и теперь открывается двойным щелчком, не требуется никаких терминалов или программирования.