AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 975959
Accepted
Jaakko Seppälä
Jaakko Seppälä
Asked: 2017-11-14 01:26:28 +0800 CST2017-11-14 01:26:28 +0800 CST 2017-11-14 01:26:28 +0800 CST

将带有 Java 9 的 Eclipse 安装到 Ubuntu 时出现问题

  • 772

我有Xubuntu 17.10。我尝试通过 apt-get 安装 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?

eclipse
  • 2 2 个回答
  • 5104 Views

2 个回答

  • Voted
  1. Best Answer
    karel
    2017-12-24T05:27:22+08:002017-12-24T05:27:22+08:00

    Ubuntu 18.04 及更高版本

    默认 Ubuntu 存储库中的 Eclipse snap 包非常适合 Java 编程,因为它与 Java 开发环境捆绑在一起。要安装它,请打开终端并输入:

    sudo snap install eclipse --classic  
    

    此命令将安装最新的 Photon Release 4.8 版本的 Eclipse IDE for Java Developers,该版本已在 8 天前更新。Eclipse 更改了其代号政策,以便 2018 年 9 月及以后的 Eclipse 版本以发布日期的年份和月份命名,例如 Eclipse 2020-06。此命名方案也适用于 eclipse snap 包。

    Eclipse Photon JDT 完全支持 Java 9:

    • Java 的 Eclipse 编译器 (ECJ) 实现了所有新的 Java 9 语言增强功能。
    • 更新了重要特性以支持 Java 模块,例如编译器、搜索和许多编辑器特性。

    注意: 要在 18.04 及更高版本中向 Eclipse 添加新的 Java 版本,例如 openjdk-11-jdk,请按照上面步骤 1-9 中列出的说明进行操作,只需将字符串替换为java-9-openjdk您要添加到的 Java 版本已安装 JRE。


    Ubuntu 17.10

    我已经安装了 Eclipse Oxygen(最新版本的 Eclipse)和 openjdk-9-jdk,Eclipse 在这个版本中使用了 openjdk-9-jdk。如果您想将 openjdk-8-jdk 保留为默认 Java 版本以在新的 Eclipse Oxygen 中使用,您可以打开 Eclipse 并从 Eclipse 内部添加 openjdk-9-jdk,如下所示。

    1. 选择窗口->首选项

    2. 在 Preferences 窗口右侧的窗格中,单击Java左侧的黑色三角形将其展开。

    3. 双击已安装的 JRE。

    4. 单击首选项窗口左侧的添加以添加新的 JRE。

    5. 选择标准 VM并单击下一步。

    6. 在 JRE 主页中:字段类型/usr/lib/jvm/java-9-openjdk-amd64(或 i386 而不是 amd64 用于 32 位 Eclipse)

    7. 在 JRE 名称中:字段类型java-9-openjdk-amd64(或 i386 而不是 amd64 用于 32 位 Eclipse)

    8. 单击应用按钮。

    9. 现在在步骤 3 中的已安装 JRE中。您可以单击已安装 JRE 列表中 JRE 左侧的复选框以将其选为默认值,然后单击应用按钮以将更改应用到默认已安装 JRE 中。

    相同的说明不适用于 Ubuntu 16.04 中的默认 Eclipse 版本。

    • 2
  2. Airforce1
    2017-12-24T03:16:31+08:002017-12-24T03:16:31+08:00
    1. 您必须安装openjdk-8-jre:

      sudo apt-get install openjdk-8-jre
      
    2. 接下来切换到 jre-8 版本:

      $ sudo update-alternatives --config java
      There are 2 choices for the alternative java (providing /usr/bin/java).
      
      Selection    Path                                            Priority   Status
      
      * 0            /usr/lib/jvm/java-9-openjdk-amd64/bin/java       1091      auto mode
        1            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
        2            /usr/lib/jvm/java-9-openjdk-amd64/bin/java       1091      manual mode
      
    3. 检查java版本:

      $ java -version
      openjdk version "1.8.0_151"
      OpenJDK Runtime Environment (build 1.8.0_151-8u151-b12-0ubuntu0.17.10.2-b12)
      OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
      
    4. 开始日食

    • 1

相关问题

  • 如何调整 UI 元素中的填充?

  • Eclipse写入.gvfs目录导致空文件[关闭]

  • 无法启动 Eclipse

  • 如何修复 Eclipse Helios 中不可读的工具提示?

  • 如何让 Eclipse 插件与基于软件中心的安装一起使用

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve