解决Maven项目中找不到jdk自带的tools.jar的错误

在 Maven 项目中,如果依赖了 jdk 中自己的 tools.jar 包。则在用 Eclispe 打开时,可能会提示:”Missing artifact com.sun:tools:jar:1.8”,依赖找不到,即便是设置了环境变量 JAVA_HOME。

出错项目的 pom.xml 中,相关的配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<properties>

<tools.jar>${java.home}/../lib/.1/tools.jar</tools.jar>

...

</properties>

<dependencies>

<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.8</version>
<scope>system</scope>
<systemPath>${tools.jar}</systemPath>
<optional>true</optional>
</dependency>
...

</dependencies>

看到这个配置,感觉应该是和 java.home 相关,检查环境变量设置中有 JAVA_HOME 存在并且设置正确。后来想到是在 Eclipse 中出错(用的也是 Eclipse 嵌入的 maven),可能和 Eclipse 的,配置有关系。那 Eclispe 的 java.home 和那个设置有关联呢?

在 Eclipse 的安装目录中打开 eclipse.ini 文件,添加 vm 选择,指定 Eclipse 使用的 jvm。

1
2
-vm
D:\Devel\jdk8\bin

注意:

  1. -vm 和具体的目录必须在两行
  2. 可以指到目录(比如: D:\Devel\jdk8\bin)也可以指到具体的执行文件(比如:D:\Devel\jdk8\bin\javaw.exe )
  3. 不能像 JAVA_HOME 变量设置那样只指到 jdk 的安装目录,如本例中不能是 D:\Devel\jdk8
  4. -vm 选择必须在所有 -vmargs 参数之前,建议可以放在文件的第一行

设置以后重启 Eclipse, 再重新 import 项目即可解决找不到 tools.jar 的问题。

本文标题:解决Maven项目中找不到jdk自带的tools.jar的错误

文章作者:Morning Star

发布时间:2019年07月16日 - 10:07

最后更新:2021年04月16日 - 15:04

原始链接:https://www.mls-tech.info/java/eclipse-maven-dependency-jdk-tools-jar-error/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。