使用ANT进行构建时出现以下错误:
rem bug ID 32069: resetting an undefined env variable changes the errorlevel.
if not "C:\Program Files (x86)\Java\jdk1.6.0_30\bin\java.exe" == "" set _JAVACMD=
if not "" == "" set ANT_CMD_LINE_ARGS=
我知道ANT无法指向JDK。我通过.bat
文件启动ANT构建,并在那里指定
set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.6.0_30
set ANT_HOME=C:\Softwares\apache-ant-1.8.4
如果为JAVA_HOME值添加双引号,我会收到以下错误:
if exist "C:\Softwares\apache-ant-1.8.4\lib\ant.jar" goto checkJava
set _JAVACMD=
Files was unexpected at this time.
if ""C:\Program Files (x86)\Java\jdk1.6.0_30"" == "" goto noJavaHome
令人困惑的部分是,如果我将ANT_HOME更改为以前的版本(1.6),它可以正常工作。
set ANT_HOME=C:\Softwares\Ant
答案 0 :(得分:1)
这似乎与64位Windows上的32位JDK有关,但我不确定。
对我有用的是使用显然仍然有效的旧技巧。所以在你的情况下应该是:
set JAVA_HOME=C:\Progra~2\Java\jdk1.6.0_30
set PATH=C:\Progra~2\Java\jdk1.6.0_30\bin;%PATH%
请注意,我的机器上的progra~2映射到x86程序文件目录。可能与你的不同,所以你需要检查一下。