Как зафиксировать Eclipse с OpenJDK 9

Я установил OpenJDK 9 в Ubuntu 17.10. Я хотел начать разрабатывать в Java, и я действительно устанавливал переменную JAVA_HOME и делал некоторый материал, который я нашел в Интернете. Я могу скомпилировать программу Java и выполнить ее, но я не могу установить IDE, который был бы действительно необходим.

Сообщение об ошибке:

Ошибка произошла. Посмотрите файл журнала /home/erik/.eclipse/org.eclipse.platform_3.8_155965261/configuration/1531145712071.log.

Файл журнала содержит:

!SESSION 2018-07-09 16:15:11.911 -----------------------------------------------
eclipse.buildId=debbuild
java.version=9-Ubuntu
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Command-line arguments:  -os linux -ws gtk -arch x86_64

!ENTRY org.eclipse.equinox.simpleconfigurator 4 0 2018-07-09 16:15:12.423
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: The bundle "org.eclipse.equinox.simpleconfigurator_1.0.301.dist [1]" could not be resolved. Reason: Missing Constraint: Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,J2SE-1.4
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolverError(AbstractBundle.java:1332)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolutionFailureException(AbstractBundle.java:1316)
    at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:323)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)
    at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
    at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
    at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

!ENTRY org.eclipse.osgi 4 0 2018-07-09 16:15:12.429
!MESSAGE Bundle initial@reference:file:plugins/org.eclipse.equinox.simpleconfigurator_1.0.301.dist.jar was not resolved.

!ENTRY org.eclipse.osgi 2 0 2018-07-09 16:15:12.435
!MESSAGE One or more bundles are not resolved because the following root constraints are not resolved:
!SUBENTRY 1 org.eclipse.osgi 2 0 2018-07-09 16:15:12.435
!MESSAGE Bundle initial@reference:file:plugins/org.eclipse.equinox.simpleconfigurator_1.0.301.dist.jar was not resolved.
!SUBENTRY 2 org.eclipse.equinox.simpleconfigurator 2 0 2018-07-09 16:15:12.435
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter="(|(&(osgi.ee=CDC/Foundation)(version=1.1))(&(osgi.ee=JavaSE)(version=1.4)))".

!ENTRY org.eclipse.osgi 2 0 2018-07-09 16:15:12.436
!MESSAGE The following is a complete list of bundles which are not resolved, see the prior log entry for the root cause if it exists:
!SUBENTRY 1 org.eclipse.osgi 2 0 2018-07-09 16:15:12.436
!MESSAGE Bundle org.eclipse.equinox.simpleconfigurator_1.0.301.dist [1] was not resolved.
!SUBENTRY 2 org.eclipse.equinox.simpleconfigurator 2 0 2018-07-09 16:15:12.436
!MESSAGE Missing required capability Require-Capability: osgi.ee; filter="(|(&(osgi.ee=CDC/Foundation)(version=1.1))(&(osgi.ee=JavaSE)(version=1.4)))".

!ENTRY org.eclipse.osgi 4 0 2018-07-09 16:15:12.437
!MESSAGE Application error
!STACK 1
java.lang.IllegalStateException: Unable to acquire application service. Ensure that the org.eclipse.core.runtime bundle is resolved and started (see config.ini).
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
2
задан 10 July 2018 в 06:12

2 ответа

Пакет моментальных снимков Eclipse из репозиториев Ubuntu по умолчанию идеально подходит для программирования на Java, потому что он связан с Java среда разработки. Чтобы установить его, откройте терминал и введите:

sudo snap install eclipse --classic  

Эта команда установит последнюю версию Photon Release 4.8 Eclipse IDE для разработчиков Java, которая была обновлена ​​8 дней назад. Eclipse изменил свою политику кодовых имен, так что выпуски Eclipse, начиная с сентября 2018 г. и далее, называются по году и месяцу даты выпуска, например Eclipse 2020-06. Эта схема именования также применима к пакету eclipse snap.

Photon JDT полностью поддерживает Java 9: ​​

  • Компилятор Eclipse для Java (ECJ) реализует все новые усовершенствования языка Java 9.
  • Обновлены важные функции для поддержки Java Модули, такие как компилятор, поиск и многие функции редактора.
3
ответ дан 3 December 2019 в 07:23

Хотя я всегда предпочитаю пакеты из дистрибутива Ubuntu, я делаю исключение для Eclipse, потому что (a) это тривиальная установка, (b) она должна быть установлена как пользователь (не требуется и не рекомендуется root), и (c) она очень хорошо управляет своими собственными обновлениями и плагинами - включая откаты и т.д.

Инструкции, приведенные ниже, работают для всех IDE Eclipse (Java, C/C++, Web, PHP и т.д.).

  1. Установите JDK

    sudo apt install default-jdk.
    
  2. Загрузите последнюю версию программы установки Eclipse с eclipse.org. В настоящее время это Eclipse Photon.

  3. Распакуйте его в выбранную вами директорию

    mkdir -p ~/eclipse/installer
    tar -C ~/eclipse/installer -xzf ~/Downloads/eclipse-inst-linux64.tar.gz
    
  4. Запустите инсталлятор

    cd ~/eclipse/installer
    ./эклипсис-инст
    
  5. Выберите IDE и следуйте инструкциям

После завершения запустите IDE с помощью скрипта eclipse в каталоге eclipse, под которым вы установили IDE.

Для деинсталляции любой Eclipse IDE, просто rm -r его установочный каталог. Если вы навязчиво относитесь к загрязнению kruft, то также rm -rf ~/.eclipse.

0
ответ дан 3 December 2019 в 07:23

Другие вопросы по тегам:

Похожие вопросы: