在 Maven 项目中,如果依赖了 jdk 中自己的 tools.jar 包。则在用 Eclispe 打开时,可能会提示:”Missing artifact com.sun:tools:jar:1.8”,依赖找不到,即便是设置了环境变量 JAVA_HOME。
出错项目的 pom.xml 中,相关的配置如下:
1 | <properties> |
看到这个配置,感觉应该是和 java.home 相关,检查环境变量设置中有 JAVA_HOME 存在并且设置正确。后来想到是在 Eclipse 中出错(用的也是 Eclipse 嵌入的 maven),可能和 Eclipse 的,配置有关系。那 Eclispe 的 java.home 和那个设置有关联呢?
在 Eclipse 的安装目录中打开 eclipse.ini 文件,添加 vm 选择,指定 Eclipse 使用的 jvm。
1 | -vm |
注意:
- -vm 和具体的目录必须在两行
- 可以指到目录(比如: D:\Devel\jdk8\bin)也可以指到具体的执行文件(比如:D:\Devel\jdk8\bin\javaw.exe )
- 不能像 JAVA_HOME 变量设置那样只指到 jdk 的安装目录,如本例中不能是 D:\Devel\jdk8
- -vm 选择必须在所有 -vmargs 参数之前,建议可以放在文件的第一行
设置以后重启 Eclipse, 再重新 import 项目即可解决找不到 tools.jar 的问题。