我遇到的问题是 eclipse 无法解析我的项目的任何依赖项。这会导致问题,因为即使在编码时依赖项似乎工作正常(我得到自动完成),我仍然会收到大量错误列表,这些错误涉及遗漏的 Artifact 。
过滤这些时,我发现了以下内容:
The container 'Maven Dependencies' references non existing library '/home/[...]/.m2/repository/com/sun/tools/1.5.0/tools-1.5.0.jar'
这个依赖似乎是struts2引入的,struts2在pom中设置了如下配置文件:
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.5.0</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
那个 systemPath 解决了,所以我看不出这会造成麻烦的原因。无论如何,有没有办法告诉 eclipse 这个 m2eclipse 依赖是一个在本地存储库中找不到的系统依赖?
最佳答案
我遇到了同样的问题,需要做以下事情
- 在 eclipse.ini 文件中添加了 -vm path/to/jdk/bin
- 清理现有工作区并重新加载项目。
它对我来说是无缝的。
值得补充的是,在我的 eclipse.ini
文件中,我必须在文件顶部添加 -vm ... 行。喜欢
-vm
C:\Program Files\Java\jdk1.6.0_27\bin
... ... ...
确保 -vm 选项放在 -vmargs 之前,因为 -vmargs 之后的所有内容都直接传递给 vm,选择特定取决于 -vm 选项。
关于java - 本地存储库中缺少 tools.jar 会破坏 m2eclipse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5273792/