java - "Unable to locate tools.jar"运行 Ant 时

标签 java ant java-home tools.jar

运行 ant 时,我收到以下消息:

无法找到 tools.jar。预计在 C:\Program Files\Java\jre6\lib\tools.jar 中找到它

我将 JAVA_HOME 设置为 C:\Program Files\Java\jdk1.7.0_02,路径包括 C:\Program Files (x86)\Java\jdk1.7.0_02\bin ,CLASSPATH包含C:\Program Files (x86)\Java\jdk1.7.0_02,ANT_HOME设置为C:\ant

似乎 ant 忽略了所有这些设置并在其他地方寻找 tools.jar。没有指向 jre6 路径的环境变量。任何想法为什么?

最佳答案

有两个目录看起来像 JDK。

  C:\Program Files\Java\jdk1.7.0_02
  C:\Program Files (x86)\Java\jdk1.7.0_02\

这可能是由于同时安装了 64 位和 32 位 JDK 造成的?无论如何,ant.bat 看到的 java.exe 应该来自 JDK。如果 JRE 的 java.exe 在路径中首先出现,则将用于猜测 JDK 位置。

将 'C:\Program Files (x86)\Java\jdk1.7.0_02\bin' 或 'C:\Program Files\Java\jdk1.7.0_02' 作为路径中的第一个参数。

进一步的步骤:

您可以获取 ant -diagnostics 的输出并寻找有趣的键。 (假设 Sun/Oracle JDK)。

 java.class.path 
 java.library.path
 sun.boot.library.path

(在我的例子中,tools.jar 出现在 java.class.path 中)

关于java - "Unable to locate tools.jar"运行 Ant 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9119479/

相关文章:

未为 wso2server.bat 设置 JAVA_HOME

java - 使用 Java SDK 检查数据流作业(异步)状态

java - 在 bean 中同时使用 RolesAllowed 和 Transactional

java - 在 EigenFaceRecognizer 中找不到人脸?

java - 是否有一个 JAR 可供 google-cloud-translate 使用 ANT 进行编译,而不是处理 40 多个单独的 JAR?

java - 设置java_home奇怪的错误

java - 捕获java反射中的特定异常

ruby - <echo> rakefile 中的 ant 任务是否等效?

regex - ant 替换正则表达式 xml 换行符

java - JAVA_HOME 应该指向 JDK 还是 JRE?