安装蚂蚁; 显然误解了JAVA_HOME

Sto*_*dow 0 java ant java-home

我在Windows XP机器上安装ant,并遵循Apache手册网站上的说明.它说要设置JAVA_HOME,所以我查了一下,看到没有名为JAVA_HOME的环境变量,一个,并将其设置为"C:\ Program Files\Java\jdk1.6.0_19"

但是,当我尝试运行ant debug时,它告诉我JAVA_HOME当前设置为"C:\ Program Files\Java\jre6"

我猜JAVA_HOME不是环境变量.但如果它不是一个,我不知道从哪里开始寻找它.有人知道吗?

编辑:哦是的 - 这也是我对tools.jar的烦恼,但我猜测当我修复JAVA_HOME问题时,这将有助于终端找到tools.jar.或者也许我错了.谢谢

ig0*_*774 5

根据Newtopian的建议,您可以通过在终端中运行来快速确认该行为是否存在问题

C:\>set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_19
C:\>ant debug
Run Code Online (Sandbox Code Playgroud)

另外,我不确定您输入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%
Run Code Online (Sandbox Code Playgroud)

如果这没有帮助,你可以发布你的调试任务吗?


使其成为永久性的两种选择:

  1. 运行这个:

    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"
    Run Code Online (Sandbox Code Playgroud)

(基本上,确保你只设置了一个JAVA_HOME并且它是正确的;确保在执行此操作后关闭并重新打开终端)

  1. 如果一切都失败了,那就是糟糕的批处理文件解决方案

    @echo off
    set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_19
    ant %*
    Run Code Online (Sandbox Code Playgroud)

保存为ant_wrapper.bat(或其他),你应该能够做到ant_wrapper debug.

(这两种解决方案都未经测试)