【问题标题】:Java for Eclipse compilation JRE issueJava for Eclipse 编译 JRE 问题
【发布时间】:2018-10-17 10:58:07
【问题描述】:

我使用 Mac OS,10.6,在恢复备份数据后,Eclipse 停止工作。它给了我以下错误:

The container 'JRE System Library [JavaSE-1.6]' references non existing library '/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar'       

Unbound classpath container: 'JRE System Library [JavaSE-1.7]' in project 'Proba'

我尝试再次安装 Java 开发工具包(帮助 -> 安装新软件),Eclipse 实际安装了它,但是当我转到(Eclipse -> 首选项 -> Java -> 已安装的 JRE)时,我收到错误 @987654322 @,并且安装的 JREs 窗口确实是空的。并且 Java 代码仍然无法编译。

解决方案:转到:Eclipse -> Preferences -> Java -> Installed JREs -> Execution Environment 并选择 JAVA SE 6 包(可能 JAVA SE 7 可以工作),然后在右侧选择兼容的 JRE。

重新加载 Eclipse。

【问题讨论】:

  • 请用您建议的解决方案自己回答您的问题,以便其他人看到此问题已解决。
  • 您实际上已将工作区移至新计算机。要么使新计算机与旧计算机相同(软件更新 + 安装 Oracle java 7),要么修复工作区设置,

标签: java eclipse


【解决方案1】:

两种可能:

1.更新已安装的 JRE
(根据问题,可以使用以下方法之一)

  • 为失败的 JVM 移除并重新创建 Installed JREs 实例。

    Eclipse -> Preferences -> Java -> Installed JRE

  • 安装新版本的 Java。 (您可以得到它here),然后使用 Eclipse 的“已安装的 JRE”创建一个新实例。将其设置为默认值。

    Eclipse -> Preferences -> Java -> Installed JRE

(如您所述)
2.更新 Execution Environment 使其与 JRE 兼容。

转到Eclipse -> Preferences -> Java -> Installed JREs -> Execution Environment 并选择兼容的环境。

【讨论】:

  • 这发生在 Eclipse 挂起后我不得不杀死它,所以我知道它不可能是 Java。重新创建已安装的 JRE 可以解决问题,谢谢(顺便说一下,它抱怨的 jar 与问题中的 jar 完全不同)。
  • 我的 JRE lib (1.8.0_101) 仍在尝试使用 1.8.0_92 中的 charsets.jar,尽管它已被卸载。解决方案 2 解决了这个问题。
【解决方案2】:

以下是解决问题的方法:

  1. Mac 中的某些版本(例如 Lion)不附带 JDK;您可以直接从http://connect.apple.com 下载一个。是的,您需要使用您的 Apple id 注册并登录。下载栏在右侧结束;你应该能找到自己的路。

  2. jdk 安装到不同的位置。这将导致 IDE(例如 Eclipse)无法找到源代码和 javadocs。

  3. 在撰写本文时,JDK 位于:/Library/Java/JavaVirtualMachines/1.6.0_31-b04-415.jdk/Contents/Home 请继续查看以确认您的 JDK 最终在哪里;这无疑会随着时间而改变。

  4. 打开 eclipse 首选项并转到 Java --> Installed JREs 页面

  5. 我们需要使用上述 JDK 位置,而不是使用“JVM 内容(MacOS X 默认)”

  6. 在撰写本文时,搜索按钮不知道新的 JDK 位置;我们需要单击“添加”按钮并自己寻找它。

  7. 从添加 JRE 向导中,为 JRE 类型选择“MacOS X VM”

  8. 对于 JRE 定义页面,我们需要填写以下内容: JRE 主页:/Library/Java/JavaVirtualMachines/1.6.0_26-b03-383.jdk/Contents/Home

  9. 其他字段现在将自动填充,默认 JRE 名称为“Home”。您可以快速将其更正为更有意义的内容: JRE名称:系统JDK

  10. 完成向导并返回已安装的 JRE 页面

  11. 从列表中选择“系统 JDK” 您现在可以正常地使用为 java.lang.String 等基类正确显示的 javadocs 进行开发,在调试时正确显示源代码。

【讨论】:

    【解决方案3】:

    上面的错误只是说你的 JRE/JDK 已经移动了 Eclipse 变量,并且在 Eclipse 中定义的相关变量指向了现在不再存在的位置。

    您所要做的就是将这些变量指向新位置,上面建议的方法很好。

    【讨论】:

    • "你所要做的就是将这些变量指向新的位置,上面建议的方法很好。" -- 到底是怎么做到的?
    【解决方案4】:

    4 种可能的替代方案:

    1. 重新配置库。
    2. 更新 JRE。
    3. 更新执行环境。
    4. 检查 MAC 更新。 //Mac部分版本默认不支持JDK。但是您可以通过使用 JDK 而不是 Mac 默认变量来重新配置它来解决您的问题。

    您可以尝试的另一件事是将 Eclipse 恢复为默认状态,即重新安装您正在使用的 Eclipse 版本。(顺便说一下,当我遇到类似问题时,这对我有用)。

    【讨论】:

      【解决方案5】:

      我在 Spring Tool Suite(v 3.7.2) 上遇到了同样的问题,并采取了以下步骤来解决这个问题:

      1. cd $JAVA_HOME/jre(在 Mac 上)
      2. pwd(这将给出 JRE 目录的位置)
      3. STS > 首选项 > 已安装的 JRE > 添加 JRE 的位置

      【讨论】:

        【解决方案6】:

        我的系统 Java 自行更新后发生了这种情况。我重新启动了 Eclipse,它进行了构建,并且错误消失了。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-12-11
          • 2023-03-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多