Java 缺少带有Eclipse和Maven的工具1.6.jar
我试图在Eclipse中使用Maven来运行一个项目,但下面出现了这个错误。Java 缺少带有Eclipse和Maven的工具1.6.jar,java,eclipse,maven,tools.jar,Java,Eclipse,Maven,Tools.jar,我试图在Eclipse中使用Maven来运行一个项目,但下面出现了这个错误。tools.jar在JDK的lib文件夹中,但是tools-1.6.jar似乎不在我的计算机上。我正在使用JDK1.7,我的JAVA_HOME指向该文件夹(就像我的eclipse.ini)有人知道我可以从哪里获得该文件,或者我可能做错了什么吗 容器“Maven Dependencies”引用了不存在的库C:\Users\sejohnson\.m2\repository\com\sun\tools\1.6\tools-1.
tools.jar
在JDK的lib
文件夹中,但是tools-1.6.jar
似乎不在我的计算机上。我正在使用JDK1.7,我的JAVA_HOME
指向该文件夹(就像我的eclipse.ini
)有人知道我可以从哪里获得该文件,或者我可能做错了什么吗
容器“Maven Dependencies”引用了不存在的库
C:\Users\sejohnson\.m2\repository\com\sun\tools\1.6\tools-1.6.jar
是否可以检查pom.xml中关于工具的依赖关系?一个好的源代码是mvnrepository.com,最后您的项目是否在eclipse之外编译?mvn clean compile
在dos框或shell中工作吗?如果确实如此,您可能只需要使用mvn eclipse:eclipse
重新生成eclipse项目文件,然后在eclipse中刷新您的项目任何公共存储库中都不提供tools.jar
(如我所知)。如果您的pom.xml
引用了本地存储库中的文件,则必须自行安装。您正在使用的pom.xml显然期望有人在可访问的Maven存储库中创建/安装tools-1.6.jar(例如,向公司的central Maven repository manager,例如)
如果这不适合您,请尝试更改依赖项,如Maven中所述。tools-x.y.z.jar应由您的JDK提供 通过在eclipse.ini中添加-vm选项,确保eclipse由JDK而不是JRE运行 例如:
-vm
C:\Program Files\Java\jdk1.6.0_26\bin\javaw
-vm
后面的新行至关重要
应该就在上面
-vmargs
另请参见可能是eclipse默认为32位版本的jre。如果将JAVA\u HOME设置为C:\Program Files\JAVA\jdk1.6.0\u 21\bin并运行32位版本的eclipse,那么最终将使用类似C:\Program Files(x86)\JAVA\jre6\bin的内容 一旦您修复了jdk问题 您需要在快捷方式的末尾传递它 -vm“C:\Program Files(x86)\Java\jdk1.6.0\U 31\bin” 或者修复你的JAVA_主页 其他建议是确保您的eclipse使用的是jdk而不是jre
如果您搜索tools.jar或在另一个项目中播放这个常见的maven依赖性问题,您会发现其他帖子。除了上面提到的所有内容,这可能意味着诊断问题并最终提供正确解决方案的不同步骤,我会首先检查命令行(意思是在Eclipse运行时之外)。从命令行执行简单的“mvn干净安装”将为您提供以下信息:
使用这两个事实,您可以排除Java安装和Maven安装级别的问题。然后,您可以继续让Eclipse使用与您可以在命令行中使用的设置相同的设置(Java JDK HOME,Maven HOME),正如上面的其他答案详细解释的那样(具体地说是和).我遇到了完全相同的问题,最后向pom文件添加了以下依赖项:
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>${java.version}</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>
jdk.tools
jdk.tools
${java.version}
系统
${JAVA_HOME}/lib/tools.jar
这解决了问题,并使tools.jar
可用于我的项目中的QueryDSL插件。希望这有帮助。注意,确保使用JDK版本而不是JRE
编辑:最近注意到,当我在新的开发平台上移动时,问题再次出现,在我的例子中是Ubuntu 12.10。修复方法是将
${JAVA_HOME}/bin
添加到$PATH
中。有同样的问题,我必须在eclipse中手动添加tools.jar:
首选项->Java->安装的jre->选择jre->编辑->添加外部jar->查找并选择tools.jar->完成。
现在它可以工作了。我也遇到了同样的问题,结果发现我的POM文件中的一个依赖项正在将我不需要的依赖项临时添加到jdk.tools jar中(这导致了Eclipse Maven插件的问题)。我的解决方案是将其从有问题的依赖项中排除,如下所示:
<dependency>
<groupId>it.unimi.di</groupId>
<artifactId>mg4j-big</artifactId>
<version>${mg4j-big.version}</version>
<exclusions>
<exclusion>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
</exclusion>
</exclusions>
</dependency>
它,unimi.di
mg4j大
${mg4j big.version}
jdk.tools
jdk.tools
尝试查找正在通过传递方式导入jdk.tools jar的依赖项,并像我上面所做的那样进行排除。这应该可以解决您的问题。如果您有此构建问题,这里是另一个选项。我有相同的构建问题,我尝试了上述所有建议,但问题仍然存在。然后我注意到我的系统path的第一项是“C:\ProgramData\Oracle\Java\javapath”
我不确定是哪个程序安装了它。当我检查文件夹时,它只有一些链接(快捷方式)。我从系统路径中删除了它,生成错误得到了解决。希望这能帮助其他人解决同样的问题。Echo@Gopal Ramakrishnan。我在env路径(windows操作系统)中也遇到了同样的问题。它已经解决了“C:\ProgramData\Oracle\Java\javapath”中包含Java.exe,因此在启动eclipse时会影响实际的jdk路径。只需删除它即可解决问题。我非常确定“C:\ProgramData\Oracle\Java\javapath”是由Oracle“sql开发人员”悄悄添加的…在我的例子中,原来我在pom.xml中有这种依赖关系
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.6.0</version>
<scope>system</scope>
<systemPath>${env.JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>
com.sun
工具
1.6.0
系统
${env.JAVA_HOME}/lib/tools.jar
然而,JAVA_HOME在Eclipse启动时被设置为JRE而不是JDK
因此tools.jar实际上并不存在,因为这个原因your.pom?your.project和.classpath文件?我刚刚遇到了这个问题,并指出