在 java 项目的 pom.xml 中,出现 missing artifact jdk.tools:jdk.tools:jar:1.6 错误

新手上路,请多包涵

我想我知道如何解决这个问题,除了:我不知道在 pom 中的什么地方提到了特定的版本(我没有明确地看到它)我看到的解决方案是添加这个依赖:

 <dependency>
   <groupId>com.sun</groupId>
   <artifactId>tools</artifactId>
   <version>1.6</version>
   <scope>system</scope>
   <systemPath>C:\Program Files\Java\jdk1.6.0_29\lib\tools.jar</systemPath>
 </dependency>

但是我想用com.oracle,windows下的jdk目录是jdk1.8。

那么有没有办法让 pom “想要”我机器上实际拥有的工具版本?

原文由 Jeff 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 902
2 个回答

我终于以正确的方式解决了这个问题。

当使用 JRE 而不是 JDK 启动 eclipse 时会发生这种情况,因为 tools.jar 不在 JRE 中。基于该断言,尝试安装 JDK。如果它已经安装,请检查你的 Path 你有 JDK 路径而不是 JRE 路径。

请注意,最新版本的 java 似乎在 Path 中添加了以下目录: C:\ProgramData\Oracle\Java\javapath 。它包含可以链接到 JRE 的快捷方式。您需要删除它并添加到您的 JDK bin 文件夹的链接。 (例如 C:\Program Files\Java\jdk1.8.0_66\bin

请注意,您可能需要重新启动计算机以使 Path 中的更改对 eclipse 启动有效(我真的不明白为什么我必须这样做,但我做到了)。

另请注意,Java 更新可能会将 javapath 重新添加到您的路径中。所以您可能不想使用自动更新,而是手动更新您的 JDK 并在安装后调整您的路径。它有点重,但可以正常工作。

原文由 Crystark 发布,翻译遵循 CC BY-SA 3.0 许可协议

对于将来遇到此问题的任何人,请继续阅读以获取更优雅的解决方案:

原因

在以下两种情况之一中会出现此问题:

  1. 您没有安装和配置 JDK;或者

  2. 您同时安装了 JDK 和 JRE,并且 JRE 优先于 JDK 路径。

解决方案

正如 “现实世界中的 Hadoop”团队在此链接 中所解释的那样,您只需要将依赖项添加到 tools.jar pom.xml

 <dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.7.0_05</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>

如果错误仍然存在,则只需将路径 tools.jar 更改为绝对路径,如下所示:

 <systemPath>C:/Program Files/Java/jdk1.8.0_65/lib/tools.jar</systemPath>

原文由 Vikram Deshmukh 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题