繼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
。
(這兩種解決方案是未經測試)
是,一旦你的JAVA_HOME是正確的,在JDK點,它會找到的tools.jar。 – 2010-04-06 01:25:12
我發現調試這個問題難以容忍,所以簡單的把tools.jar放在Ant期望找到的地方。有時投降是最好的政策。 – 2010-04-06 01:59:42
你知道嗎?我早些時候正在考慮同樣的事情,但我害怕在工作電腦上試用它。感謝您的建議。現在工作正常。 – StormShadow 2010-04-06 02:39:05