运行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。没有指向jre6路径的环境变量。有什么想法吗?
答案 0 :(得分:36)
有两个目录看起来像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中)
答案 1 :(得分:11)
我也遇到了同样的问题所以我只是从最后删除了JDK路径,并在所有系统或Windows 32路径之前将其置于启动状态。
在此之前:
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:\视窗; 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; %ANT_HOME%\ bin中
答案 2 :(得分:4)
PATH中的项目顺序很重要。如果各种Java安装有多个条目,则将使用PATH中的第一个。
在安装像Oracle这样的产品之后,我遇到了类似的问题,这些产品将它的 JRE放在PATH的开头。
确保您要加载的JDK是PATH中的第一个条目(或至少在C:\Program Files\Java\jre6\bin
出现之前出现的条目)。
答案 3 :(得分:3)
确保使用JDK的根文件夹。不要将“\ lib”添加到路径的末尾,其中tools.jar位于物理位置。花了我一个小时来计算出那一个。此外,这篇文章将帮助您了解Ant在哪里寻找tools.jar:
Why does ANT tell me that JAVA_HOME is wrong when it is not?
答案 4 :(得分:2)
根据本教程,再次尝试检查:http://vietpad.sourceforge.net/javaonwindows.html
尝试重新启动系统。
如果没有,请尝试运行“cmd”并输入“java”,是否打印任何内容?