运行ant时无法findtools.jar

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

Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar

我将JAVA_HOME设置为C:\Program Files\Java\jdk1.7.0_02 ,PATH包括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。 没有指向jre6path的环境variables。 任何想法为什么?

有两个看起来像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首先在path中,那么将用于猜测JDK的位置。

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

其他步骤:

你可以输出ant -diagnostics和寻找有趣的钥匙。 (假设Sun / Oracle JDK)。

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

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

我也遇到了同样的问题所以我刚刚从最后删除了JDKpath,并在所有System或Windows 32path之前启动它。

之前是这样的:

C:\ Windows \ system32; C:\ Windows; C:\ Windows \ System32 \ Wbem; C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \; C:\ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn \; C:\ Program Files \ Microsoft SQL Server \ 100 \ DTS \ Binn \; C:\ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn \ VSShell \ Common7 \ IDE \; C:\ Users \ Rajkaran \ AppData \ Local \ Smartbar \ Application \; C:\ Users \ Rajkaran \ AppData \ Local \ Smartbar \ Application \; C:\ Program Files \ doxygen \ bin; %JAVA_HOME%\ bin ;%ANT_HOME%\ bin

所以我这样做了:

%JAVA_HOME%\ bin ; C:\ Windows \ system32; C:\ Windows; C:\ Windows \ System32 \ Wbem; C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \; C:\ Program Files \ Microsoft SQL Server \ Program Files \ Microsoft SQL Server \ 100 \ DTS \ Binn \; C:\ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn \ VSShell \ Common7 \ IDE \; C: \ Users \ Rajkaran \ AppData \ Local \ Smartbar \ Application \; C:\ Users \ Rajkaran \ AppData \ Local \ Smartbar \ Application \; C:\ Program Files \ doxygen \ bin;%ANT_HOME%\ bin

PATH中的项目顺序很重要。 如果有不同的Java安装有多个条目,将使用PATH中的第一个条目。

在安装像Oracle这样的产品之后,我有类似的问题,把放在PATH的开头。

确保要加载的JDK是PATH中的第一个条目(或者至less出现在C:\Program Files\Java\jre6\bin )。

  1. 尝试根据本教程再次检查: http : //vietpad.sourceforge.net/javaonwindows.html

  2. 尝试重新启动系统。

  3. 如果没有,尝试运行“cmd”并键入那里“java”,它打印什么?

确保您使用JDK的根文件夹。 不要将“\ lib”添加到tools.jar物理位置的path末尾。 花了一个小时才弄出来的。 另外,这篇文章将帮助你展示Ant在哪里寻找tools.jar:

为什么ANT告诉我,JAVA_HOME不对?