最近重装系统,装了新的eclipse,打开工程报Missing artifact com.sun:tools:jar:1.5.0错误
但是代码应该一直的没问题的。百度发现大部分的回答是类似 https://yq.aliyun.com/articles/40864 或许能解决,但是做法不好,毕竟不是代码引起的问题。
通过依赖查找,发现是strut core的包依赖了tools,
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.5.0</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
问题在于${java.home},通过eclipse的help,about eclipse ,installation details ,configuration, 可以发现java.home是D:/program files/Java/jre,
这是由于eclipse使用了系统默认的javaw.exe, 其路径是C:\Windows\System32\javaw.exe,
按照 http://www.blogjava.net/wangxunhua/archive/2016/01/11/429000.aspx 配置eclipse.ini 指定vm 使用我们的jdk,重启eclipse后再次查看java.home(没变就多试几次)就变成
D:/program files/Java/jdk1.6.020/jre ,这样${java.home}/../lib/tools.jar就可以找到了。