Ant + Vista 64:“无法找到tools.jar”(jre / jdk冲突?)

我正在尝试在vista 64环境中使用ant来构建一些docbook / xml文件。

但是,我无法解决此错误消息。 有人有建议吗?

C:\ Users \ Robert Admin> ant无法找到tools.jar。 预计在C:\ Program Files \ Java \ jre6 \ li b \ tools.jar中找到它.Buildfile:build.xml不存在! 构建失败

谷歌搜索,我看到这个tools.jar消息是ant无法找到jdk的结果。 实际上,C:\ Program Files \ Java \ jre6 \ li \ t \ tools.jar是一个安装了另一个程序的JRE(我猜)。 Tools.jar位于: C:\ Program Files \ Java \ jdk1.6.0_22 \ lib

我似乎无法告诉Ant查看JDK路径,只查看已存在的JRE路径。 (从Ant文档来看,似乎JRE是不够的)。

C:\Users\Robert Admin>echo %JAVA_HOME% C:\Program Files\Java\jdk1.6.0_22\bin C:\Users\Robert Admin>ant Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\li b\tools.jar Buildfile: build.xml does not exist! Build failed C:\Users\Robert Admin>echo %ANT_HOME% I:\My Documents\1latest\ant C:\Users\Robert Admin>where java C:\Windows\System32\java.exe C:\Program Files (x86)\Java\jre6\bin\java.exe C:\Program Files\Java\jdk1.6.0_22\bin\java.exe C:\Users\Robert Admin>java -version java version "1.6.0_22" Java(TM) SE Runtime Environment (build 1.6.0_22-b04) Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03, mixed mode) 

更新#1 。 我尝试卸载64位jdk并安装32位jdk。 结果:

 C:\Users\Robert Admin>java -version java version "1.6.0_22" Java(TM) SE Runtime Environment (build 1.6.0_22-b04) Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03, mixed mode) C:\Users\Robert Admin>ant Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\li b\tools.jar Buildfile: build.xml does not exist! Build failed C:\Users\Robert Admin>echo %JAVA_HOME% C:\Program Files (x86)\Java\jdk1.6.0_22\bin 

我在64位Windows 7计算机和Ant 1.8.2上遇到此问题。 解决方案是使用#bigfix提到的管理工具来设置环境变量。 按照Windows的Ant安装说明进行操作。 但是不要将路径设置为%ANT_HOME%\ bin。 而是使用显式路径,例如C:\ jdk-1.5.0.05 \ bin。

我的第一次测试失败,因为我的命令窗口已经打开并使用旧的env变量。 关闭它并打开一个新的。 然后尝试测试。 它对我有用。

我遇到了同样的问题,因为我的JAVA_HOME路径设置不正确(就像OP一样)。 它被设置为jdk的bin。

所以设置为:C:\ Program Files(x86)\ Java \ jdk1.6.0_25 \ bin

应该设置为:C:\ Program Files(x86)\ Java \ jdk1.6.0_25

更新此环境变量为我修复了它。

我通过在计算机中创建JAVA_HOME来修复此问题 – > properties-> env变量命令行中的手动设置不起作用-b

我通过将系统变量JAVA_HOME创建到C:\ Program Files \ Java \ jdk1.6.0_25来解决了这个问题。 不要把半结肠放在它后面。 首先,我把半结肠放了一个错误。 我删除了半结肠并且它起作用了。

您所需要的只是在您的环境中设置JAVA_HOME路径。 在Windows 7中,转到“系统属性 – >高级 – >环境变量”并添加JAVA_HOME。 我的案例中的价值是:

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

这解决了我的问题。 此变量将Ant指向正确的Java位置。

我知道这个线程有些旧。但我现在也面对它…我做的是将tools.jar复制到jre / lib文件夹并且工作正常。

我在Windows 7,JDK 1.7环境中并尝试安装ant 1.8.2

谢谢

您可能正在使用C:\ Windows \ system32目录中的java而不是已安装的JDK。 我设置了一个JAVA_HOME环境变量并将%JAVA_HOME%\ bin放在我的路径的开头和离开时的问题。

为什么不尝试32位版本。 您安装的两个版本之间可能存在32和64版本之间的问题。请尝试32位版本,以免看到任何64位版本。

它应该解决你的问题。

我有这个问题与环境:

  • Windows 7的
  • Java版本jdk1.6.0_33
  • Apache的ANT-1.6.5

我得到的ant构建消息为“ Unable to locate tools.jar. Expected to find it in E:\Java\jre6\lib\tools.jar ”,我的JDK安装在E:\Java\jdk1.6.0_33\和JRE在E:\Java\jre6\

原因:

我的问题是我在两个不同的地方在PATH系统环境变量中设置了两次ANT_HOME (意味着其中的一些其他变量)。

解:

我删除了指向错误位置的ANT_HOME变量,一切正常。

我曾经遇到过同样的ant setup问题。 促销与此相同

 Unable to locate tools.jar`. Expected to find it in C:\Program Files\Java\jre6\li b\tools.jar Buildfile: build.xml does not exist! Build failed. 

我删除了%PATH%环境中的所有jre路径并添加了jdk bin路径。 最后,我输入%ANT_PATH%/bin而不是%ANT_PATH%\bin 。 有用。

可能有帮助。

我遇到了同样的问题。 成功解决了。

  1. 检查jenkins看到的系统信息:your_jenkins_url / systemInfo
  2. 在“环境变量”部分中查找“JAVA_HOME”变量。 就我而言,我无法找到它。

因此,如果您没有看到此变量,则意味着您的变量未设置为jenkins运行的用户。 您需要将“JAVA_HOME”放入环境变量的“系统变量”部分,而不是“用户变量”。

在此之后重新启动jenkins并且必须修复您的问题。

当运行%ANT_HOME%\ bin \ ant.bat时,我得到一个“C:\ Program”被识别为内部或外部命令,可操作程序或批处理文件错误

我发现我需要用双引号括起命令,以便在路径字符串上进行正确的转义。

FIX:“%ANT_HOME%\ bin \ ant.bat” – 不是 – %ANT_HOME%\ bin \ ant.bat

希望有所帮助!

谢谢,这也适用于使用Java x64的Windows 8,x64。

我不想将所有垃圾添加到我的系统设置中,所以我创建了一个批处理文件,我想在使用Android SDK之前运行。 这里是

  set ANDROID_SDK_PT=C:\Program Files\eclipse\sdk\platform-tools set ANDROID_SDK_TOOLS=C:\Program Files\eclipse\sdk\tools set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_25 set ANT_HOME=C:\apache-ant set PATH=%PATH%;%ANDROID_SDK_PT%;%ANDROID_SDK_TOOLS%;%JAVA_HOME%;%ANT_HOME%\bin 

我将添加另外一个与此有关的问题。

顺便说一句,这里的答案对我也有用。 我必须将我的java目录指向特定的SDK版本。 非常感谢你。

但我要补充一点,我必须以管理员身份安装SDK,否则它不会提取tools.jar。 我在其他地方找到了这个答案,我希望有人可以在这里重复一遍。