У меня есть Xubuntu 17.10. Я пытался установить Eclipse через Кв. - добираются. Когда я пытался выполнить его, я получил ошибку
An error has occurred. See the log file
/home/jaakko/.eclipse/org.eclipse.platform_3.8_155965261/configuration/1510564798671.log.
Файл журнала следующий:
!SESSION 2017-11-13 11:19:57.077 -----------------------------------------------
eclipse.buildId=debbuild
java.version=9.0.1
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 2017-11-13 11:20:00.209
!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 2017-11-13 11:20:00.222
!MESSAGE Bundle initial@reference:file:plugins/org.eclipse.equinox.simpleconfigurator_1.0.301.dist.jar was not resolved.
!ENTRY org.eclipse.osgi 2 0 2017-11-13 11:20:00.256
!MESSAGE One or more bundles are not resolved because the following root constraints are not resolved:
!SUBENTRY 1 org.eclipse.osgi 2 0 2017-11-13 11:20:00.256
!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 2017-11-13 11:20:00.256
!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 2017-11-13 11:20:00.268
!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 2017-11-13 11:20:00.268
!MESSAGE Bundle org.eclipse.equinox.simpleconfigurator_1.0.301.dist [1] was not resolved.
!SUBENTRY 2 org.eclipse.equinox.simpleconfigurator 2 0 2017-11-13 11:20:00.268
!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 2017-11-13 11:20:00.281
!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)
Я нашел, что эта проблема происходит, если я использую Java 9, но не, если я использую Java 8.
Как я могу установить Eclipse на своем компьютере для выполнения Java 9?
Snap-пакет 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.
Eclipse Photon JDT полностью поддерживает Java 9:
Примечание:
Чтобы добавить новую версию Java в Eclipse в 18.04 и более поздних версиях, например openjdk-11-jdk, следуйте инструкциям, перечисленным выше в шагах 1-9, только замените строку java-9-openjdk
на версия java, которую вы хотите добавить в Установленные JRE .
Я установил Eclipse Oxygen (последняя версия Eclipse) и openjdk-9-jdk, и Eclipse работает с openjdk -9-jdk в этой версии. Если вы хотите сохранить openjdk-8-jdk в качестве версии Java по умолчанию для использования в вашем новом Eclipse Oxygen, вы можете открыть Eclipse и добавить openjdk-9-jdk изнутри Eclipse следующим образом.
Выберите Окно ] -> Настройки
На панели в правой части окна настроек щелкните черный треугольник слева от Java , чтобы развернуть его.
Дважды щелкните Установленные JRE .
Нажмите Добавить в левой части окна настроек, чтобы добавить новую JRE.
Выберите Стандартная виртуальная машина и нажмите Далее .
В JRE Home: тип поля / usr / lib / jvm / java-9-openjdk-amd64
(или i386 вместо amd64 для 32-битного Eclipse)
имя JRE: тип поля java-9-openjdk-amd64
(или i386 вместо amd64 для 32-битного Eclipse)
Нажмите кнопку Применить .
Сейчас в Установленные JRE на шаге 3. вы можете установить флажок слева от JRE в список установленных JRE, чтобы выбрать его по умолчанию, и нажмите кнопку Применить , чтобы применить изменение в установленной по умолчанию JRE.
Те же инструкции не работают для версии Eclipse по умолчанию в Ubuntu 16.04 .
Вам необходимо установить openjdk-8-jre
:
sudo apt-get install openjdk-8-jre
Следующий переход на версию jre-8:
$ sudo update-alternatives --config java
Есть 2 варианта альтернативной java (предоставление / usr / bin / java).
Статус приоритета пути выбора
* 0 / usr / lib / jvm / java-9-openjdk-amd64 / bin / java 1091 автоматический режим
1 / usr / lib / jvm / java-8-openjdk-amd64 / jre / bin / java 1081 ручной режим
2 / usr / lib / jvm / java-9-openjdk-amd64 / bin / java 1091 ручной режим
проверить версию java:
$ java -version
openjdk версия "1.8.0_151"
Среда выполнения OpenJDK (сборка 1.8.0_151-8u151-b12-0ubuntu0.17.10.2-b12)
64-разрядная серверная виртуальная машина OpenJDK (сборка 25.151-b12, смешанный режим)
start eclipse