按照 Newtopian 的建议,您可以通过在终端中运行来快速确认该行为是否是问题所在
C:\>set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_19
C:\>ant debug
另外,我不确定您在 JAVA_HOME 环境变量中输入的文本是否字面意思是“C:\Program Files\Java\jdk1.6.0_19”,即带引号,但如果是这样,您应该将引号删除为他们会甩掉 ant.bat。
这是来自 ant.bat 的相关信息
:checkJava
set _JAVACMD=%JAVACMD%
if "%JAVA_HOME%" == "" goto noJavaHome
if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
if "%_JAVACMD%" == "" set _JAVACMD=%JAVA_HOME%\bin\java.exe
goto checkJikes
:noJavaHome
if "%_JAVACMD%" == "" set _JAVACMD=java.exe
... omitted ...
"%_JAVACMD%" %ANT_OPTS% -classpath "%ANT_HOME%\lib\ant-launcher.jar" "-Dant.home=%ANT_HOME%" org.apache.tools.ant.launch.Launcher %ANT_ARGS% %ANT_CMD_LINE_ARGS%
如果这没有帮助,您可以发布您的调试任务吗?
使其永久化的两种选择:
运行这个:
C:\>REG delete HKCU\Environment /V JAVA_HOME
C:\>REG delete HKLM\Environment /V JAVA_HOME
C:\>REG add HKCU\Environment /V JAVA_HOME /d "C:\Program Files\Java\jdk1.6.0_19"
(基本上,确保您只设置了一个 JAVA_HOME 并且它是正确的;执行此操作后请务必关闭并重新打开终端)
如果一切都失败了,糟糕的批处理文件解决方案:
@echo off
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_19
ant %*
另存为ant_wrapper.bat
(或其他),你应该能够做到ant_wrapper debug
。
(这两种解决方案都未经测试)