3

使用 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
4

1 回答 1

2

这似乎与 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 程序文件目录。您的可能会有所不同,因此您需要检查一下。

于 2014-01-06T15:05:04.530 回答