2012-09-27 57 views
3

我收到以下错误,而这样做使用Ant构建:Ant生成无法识别JAVA_HOME

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

也许你应该使用引号:set JAVA_HOME =“C:\ Program Files(x86)\ Java \ jdk1.6.0_30” – Nailgun

+0

它没有帮助。我已更新我的问题 –

+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程序文件目录。可能会有所不同,所以你需要检查。

相关问题