无法定位tools.jar文件

77

可能是重复问题:
无法找到 tools.jar

我正在尝试使用ant编译,使用的命令是:

 ant compile

我不知道问题是不是因为我的Windows 64位系统,还是其他原因。因为我已经在64位和32位程序文件中安装了Java。

Java 64 & 32

我下载了 apache-ant-1.8.2-bin 并将其放在 C:\Program Files\apache-ant-1.8.2 中。

我试图在各个地方放置 Ant,并在 Java 64位和32位之间切换 ENV PATH,但每次都会收到以下错误消息:

无法找到 tools.jar。期望在 C:\Program Files\Java\jre6\lib\tools.jar 中找到

我在 Ant lib 文件夹、Java 64位和32位中搜索 tools.jar,但在系统中没有发现它的踪迹。

你怎么看?

5个回答

156

在使用IT技术时,JRE没有tools.jar文件,您需要使用JDK。请设置JAVA_HOME和PATH变量,使其指向JDK而不是JRE。


12
将"C:\Program Files\Java\jdk1.7.0_65"添加到JAVA_HOME,将"C:\Program Files\Java\jdk1.7.0_65\bin"添加到PATH即可达到效果。(jdk1.7.0_65适用于JDK 1.7更新版本为65,可能会有所不同) - Munchies
6
@Munchies 实际上,将%JAVA_HOME%/bin添加到路径中更为优雅。这样,当您升级时,您只需要更改一个变量即可。 - Sean Patrick Floyd
1
在Windows上尝试重新启动计算机,在我这里起作用了。 - Christian Strang
Windows是唯一一个重启意味着你会失去当前打开的窗口的操作系统吗?我只需重启cmd控制台,直到我看到更改在那里传播。当然,除非你选择了“优雅”,并且某些流氓脚本正在覆盖你的JAVA_HOME路径,以便它仍然指向JRE。 - John
对我来说,在Windows的类路径/路径中添加JAVA_HOME并没有帮助,相反,我不得不在Eclipse中创建一个新的环境变量-JAVA_HOME,并将其指向JDK7-这样做有用。 - JavaTec

20

我曾经遇到过类似的问题,通过以下步骤解决:

1)将JAVA_HOME设置为C:\Program Files (x86)\Java\jdk1.7.0\

2)将ANT_HOME设置为F:\ant\apache-ant-1.8.4-bin\apache-ant-1.8.4

3)在系统变量中的'path'中添加这两个变量


1
1)为什么以“\”结尾,2)为什么不是? - Christian

4
请确保您指向的是JDK而不是JRE。例如,您应将JAVA_HOME设置为“C:\ Program Files \ java \ jdk1.6.0_26”,并在系统路径中包含%JAVA_HOME%\ bin。

在我的情况下,变量CLASSPATH指向%JAVA_HOME%\jre\lib的路径丢失了,请参考https://dev59.com/Q3I-5IYBdhLWcg3wy7wd#26640589。 - escalator

4
我需要将 C:\Program Files\Java\jdk1.6.0_26\lib\tools.jar 复制到 C:\Program Files\Java\jre6\lib\ext。谢谢。

9
不应这样做。JRE是JRE,JDK是JDK。不要混淆两者,否则会出现奇怪的、无法重现的行为。 - Sean Patrick Floyd
我在%PATH%中有jdk和jre。你认为我应该删除jre吗? - Wassim AZIRAR
3
我建议你甚至可以删除开发机上除你将要使用的单个JDK之外的所有Java安装。除非某些现有产品安装依赖于现有的JREs。 - Art Licis
注意:在某些情况下,您必须删除JRE路径才能使其正常工作。 - basickarl

3

tools.jar是随JDK一起提供的,但在您的情况下,它会在/Java/jre6中查找。将JAVA_HOME环境变量更改为您的JDK home之一。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接