Как запустить Eclipse с помощью Oracle 1,7 JDK для Mac? - программирование
Подтвердить что ты не робот

Как запустить 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

4b9b3361

Ответ 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, поэтому имя файла конфигурации может быть другим.

Ответ 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. Он полностью устранил проблему и теперь открывается двойным щелчком, не требуется никаких терминалов или программирования.