简体   繁体   English

无法通过 ant 命令 JAVA_HOME 定位 tools.jar 并且为 jdk 设置了 PATH 而不是 jre

[英]Unable to locate tools.jar by ant command JAVA_HOME and PATH is set for jdk instead jre

I am using windows 7 java installed in Program files and Program Files (x86).我正在使用安装在程序文件和程序文件 (x86) 中的 Windows 7 java。 I am getting such error "Unable to locate tools.jar. Expected to find it in C:\\Program Files\\Java\\jre7\\lib\\tools.jar我收到这样的错误“无法找到 tools.jar。希望在C:\\Program Files\\Java\\jre7\\lib\\tools.jar找到它

I have set path variable to `C:\Program Files\Java\jdk1.7.0_51;`
 JAVA_HOME `C:\Program Files\Java\jdk1.7.0_51;`

But I tried ant -diagnostics command get java.home is C:\\Programe Files\\Java\\jre7\\但我试过ant -diagnostics命令 get java.home is C:\\Programe Files\\Java\\jre7\\

If you have installed Java Development Kit (JDK) you can find this Jar at the place.如果你已经安装了Java Development Kit (JDK)你可以在这个地方找到这个 Jar。

I seems you have installed only Java Runtime Environment (JRE)我似乎只安装了Java Runtime Environment (JRE)

So if tools.jar is not there at the path C:\\Program Files\\Java\\jre7\\lib\\ , try placing it manually at the path.It should solve your problem.因此,如果 tools.jar 不在路径C:\\Program Files\\Java\\jre7\\lib\\ ,请尝试将其手动放置在路径中。它应该可以解决您的问题。

I had the same issue.我遇到过同样的问题。

echo %JAVA_HOME% :回声 %JAVA_HOME% :

C:\\Program Files\\Java\\jdk1.8.0_51

But ant -diagnostics indicated:但是 ant -diagnostics 指出:

java.home : C:\\Program Files\\Java\\jre1.8.0_60 java.home : C:\\Program Files\\Java\\jre1.8.0_60

The problem is the JAVA_HOME environment variable is pointing to an invalid directory.问题是 JAVA_HOME 环境变量指向无效目录。

In your case, C:\\Program Files\\Java\\jdk1.7.0_51 does not exist, so Ant goes looking for the folder itself and I guess pulls the JRE folder first.在你的情况下, C:\\Program Files\\Java\\jdk1.7.0_51不存在,所以 Ant 去寻找文件夹本身,我猜首先拉出 JRE 文件夹。

The problem is that C:\\Program Files\\Java\\jdk1.7.0_51 does not exist, and so ANT resets the java.home variable to first Java directory that it finds:问题是C:\\Program Files\\Java\\jdk1.7.0_51不存在,因此 ANT 将 java.home 变量重置为它找到的第一个 Java 目录:

C:\\Programe Files\\Java\\jre7\\ C:\\Programe Files\\Java\\jre7\\

In my case, I had both of these and it still did not find the correct one:就我而言,我拥有这两个,但仍然没有找到正确的一个:

C:\\Program Files\\Java\\jdk1.8.0_60

C:\\Program Files\\Java\\jre1.8.0_60

You probably had updated to a more recently version of the JDK, like您可能已更新到最新版本的 JDK,例如

C:\\Program Files\\Java\\jdk1.7.0_79

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM