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

时间:2010-12-07 15:45:23

标签: ant windows-vista java

我正在尝试在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 b \ 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

14 个答案:

答案 0 :(得分:20)

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

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

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

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

答案 1 :(得分:6)

我通过在计算机中创建JAVA_HOME来解决这个问题 - >属性 - > env变量 在命令行中手动设置不起作用 -b

答案 2 :(得分:6)

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

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

答案 3 :(得分:6)

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

答案 4 :(得分:5)

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

  

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

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

答案 5 :(得分:4)

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

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

由于

答案 6 :(得分:3)

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

答案 7 :(得分:2)

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

它应该解决你的问题。

答案 8 :(得分:1)

我将环境问题视为:

  • Windows 7
  • Java版本jdk1.6.0_33
  • 阿帕奇-ANT-1.6.5

我收到的ant build邮件为“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变量,一切正常。

答案 9 :(得分:0)

我曾遇到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。它有效。

可能有所帮助。

答案 10 :(得分:0)

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

  1. 检查jenkins看到的系统信息:your_jenkins_url / systemInfo
  2. 在“环境变量”部分中查找“JAVA_HOME”变量。就我而言,我无法找到它。
  3. 因此,如果您没有看到此变量,则意味着您的变量未设置为jenkins运行的用户。您需要将“JAVA_HOME”放入环境变量的“系统变量”部分,而不是“用户变量”。

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

答案 11 :(得分:0)

运行%ANT_HOME%\ bin \ ant.bat

时,我发现“C:\ Program”未被识别为内部或外部命令,可运行程序或批处理文件错误

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

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

希望有所帮助!

答案 12 :(得分:0)

谢谢,这也可以在Windows 8,x64上使用Java 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

答案 13 :(得分:0)

我将添加另外一个问题。

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

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