Я установил 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)
Пакет моментальных снимков 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:
Хотя я всегда предпочитаю пакеты из дистрибутива Ubuntu, я делаю исключение для Eclipse, потому что (a) это тривиальная установка, (b) она должна быть установлена как пользователь (не требуется и не рекомендуется root), и (c) она очень хорошо управляет своими собственными обновлениями и плагинами - включая откаты и т.д.
Инструкции, приведенные ниже, работают для всех IDE Eclipse (Java, C/C++, Web, PHP и т.д.).
Установите JDK
sudo apt install default-jdk.
Загрузите последнюю версию программы установки Eclipse с eclipse.org. В настоящее время это Eclipse Photon.
Распакуйте его в выбранную вами директорию
mkdir -p ~/eclipse/installer
tar -C ~/eclipse/installer -xzf ~/Downloads/eclipse-inst-linux64.tar.gz
Запустите инсталлятор
cd ~/eclipse/installer
./эклипсис-инст
Выберите IDE и следуйте инструкциям
После завершения запустите IDE с помощью скрипта eclipse
в каталоге eclipse
, под которым вы установили IDE.
Для деинсталляции любой Eclipse IDE, просто rm -r
его установочный каталог. Если вы навязчиво относитесь к загрязнению kruft, то также rm -rf ~/.eclipse
.