缺少本地存储库中的tools.jar会破坏m2eclipse
我遇到的问题是eclipse无法解决我项目的任何依赖关系。 这会导致问题,因为即使编码时依赖关系似乎正常工作(我得到自动完成),我仍然会得到一个很大的错误列表,指出缺少的工件。
过滤这些时,我发现了以下内容:
容器’Maven Dependencies’引用了不存在的库’/home/[…]/.m2/repository/com/sun/tools/1.5.0/tools-1.5.0.jar’
似乎这个依赖是由struts2引入的,他们的pom中的配置文件如下所示:
com.sun tools 1.5.0 system ${java.home}/../lib/tools.jar
那个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选项。
我有这个问题,但我已经修复了使用以下步骤:
情况1:
Eclipse默认指向JRE,但eclipse maven插件需要JDK才能指向JDK
窗口 – > Preperences – > Java – >已安装的JRE
将其更改为JDK
案例2:
- 在Eclipse IDE中,转到:Window … Preferences …已安装的JRE
- 选择默认JRE并单击“编辑”。
- 单击Add External Jar
- 我在“C:\ Program Files \ Java \ jdk1.6.0_22 \ lib”中找到了tools.jar并添加了。
现在我可以毫无问题地构建我的项目。 这是解决此问题的正确方法吗?
我遇到了同样的问题 – Eclipse无法找到tools.jar。 我发现原因是Eclipse使用的是JRE而不是JDK。 您必须向指向JDK bin目录的eclipse.ini添加-vm参数:
…
-vm
path_to_jdk \ BIN
…
这应该可以解决问题。
从struts依赖项中排除工具jar。
com.sun tools
下载http://repository.ops4j.org/maven2/tools/tools/1.5.0/并将jar放入C:\Documents and Settings\Administrador\.m2\repository\com\sun\tools\1.5.0
。 祝你好运。
您需要validationEclipse是否正在使用JDK安装 。
在Eclipse IDE中,转到Window
/ Preferences
/ Java
/ Installed JREs
指向JDK安装。
例如: C:\Program Files (x86)\Java\jdk1.6.0_37
我看了这个,尝试了各种各样的东西 对我有用的是:我改变了窗口 – >首选项 – > java – >安装了JRE以指向JDK。 这解决了这个问题。
听起来很奇怪,我只是通过与SVN存储库重新同步来解决这个问题。
问题是,我从另一台PC上获取了整个工作区,所以当我使用m2e插件导入maven项目时,可能某些依赖项没有正确同步。
我发布这个以防万一有人对此错误感到绝望并尝试所有可能性。
在导入Eclipse的每个项目中,Eclipse在文件系统上生成一些文件 – .project,.classpath,文件夹.settings。 似乎Eclipse没有正确更新这些。
删除它们并再次导入它们。
显然,如果这是您的第一次导入并且您已经获得了一些问题,则此解决方法将不起作用。 在这里看看Maven2:缺少神器,但jar子到位了
我也有类似的问题,并通过以下方式修复它。 在命令提示符下转到JDK安装路径的lib目录。 执行以下命令安装以安装tools.jar。
$mvn install:install-file -DgroupId=sun.jdk -DartifactId=tools \ -Dpackaging=jar -Dversion=1.6 -Dfile=tools.jar
com.sun tools 1.6.0 system ${env.JAVA_HOME}/lib/tools.jar
只需添加这个。 它会工作。
这种依赖应该按预期工作。 如果有疑问,请尝试使用Maven的命令行版本,因为Eclipse插件在依赖项解析方面非常脆弱。
与Eclipse的其他部分不同,如果POM出现问题,它甚至无法为构建创建部分类路径,因此错误可能是其他错误。
如果所有其他方法都失败,请尝试将该文件安装到本地存储库中,以便您可以看到下一个错误。
我最终找到了导致它的原因。 当您使用maven1存储库时,看起来这是m2eclipse中的一个错误。 我的pom中仍然有java.net maven1存储库; 禁用后一切都恢复正常。 追踪一个非常烦人的问题,因为最终它与查找工具jar无关。
对于Mac用户
[1]要查找VM的类型,请输入/ usr / libexec / java_home
[2] vi ./Eclipse.app/Contents/MacOS/eclipse.ini
[3]
-vm
/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/bin/
-vmargs …….. ……..
[4]在Eclipse中,更新Maven
[5]一切都很好:-)
我有几次同样的问题,我可以按照两个步骤修复它:
- 我将“-vm C:\\ bin”添加到eclipse.ini或我运行eclipse的链接。
- 多次遇到这个问题之后,我开始怀疑可能会有一些m2eclipse缓存在一段时间后(大约一天左右)重新加载,所以我尝试了一个奇怪的解决方案:暂时将计算机时间更改为第二天并重新启动Eclipse或关闭/清洁项目…… ……工作!!!
我可以成功地重复几次这个过程。
一个更优雅的解决方案(我还没有机会尝试它),可能是要清除https://stackoverflow.com/a/16444984中提到的m2eclipse缓存。
希望这对任何人都有帮助。
这个问题是由于java配置错误造成的。 每个IDE都需要完整的JDK包。 因为在JDK lib而不是jre lib中可用的tools.jar
-
转到控制面板更改环境路径变量到C:\ Program Files \ Java \ jdk1.8.0_31 \ jre \ bin。
-
将JAVA_HOME更改为C:\ Program Files \ Java \ jdk1.8.0_31。
-
打开IDE(eclipse或STS)将JRE系统库更改为C:\ Program Files \ Java \ jdk1.8.0_31
然后重启IDE。 它会工作
- DeferredContentProvider的替代方法,用于支持使用SWT.VIRTUAL在表中进行过滤
- Eclipse没有在OS X Mavericks中启动? (没有一次反弹或错误消息!)
- 如何配置Eclipse以使用Oracle javac 1.7.0_09进行编译?
- 正确使用Eclipse 4中的ProgressMonitorDialog
- 无法安装GWT Developer Plugin
- 将Ant构建器集成到Eclipse中:错误“变量引用空选择”
- 如何在Eclipse中的Variables View中展开所有节点?
- 对于程序的一个实例,“发生了JNI错误”,而不是另一个实例
- 如何在Eclipse Java调试器中将字节数组显示为hex字节或无符号十进制数的数组?