安装蚂蚁;显然误解了JAVA_HOME

时间:2010-04-06 00:47:16

标签: java ant java-home

我在Windows XP计算机上安装ant,并按照Apache's manual site的说明操作。它说要设置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。或者也许我错了。感谢

2 个答案:

答案 0 :(得分:5)

根据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%

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


使其永久化的两个选项:

  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"
  2. (基本上,确保你只设置了一个JAVA_HOME并且它是正确的;确保在执行此操作后关闭并重新打开终端)

    1. 如果所有其他方法都失败了,那就是糟糕的批处理文件解决方案:

      @echo off
      set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_19
      ant %*
    2. 另存为ant_wrapper.bat(或其他),您应该可以ant_wrapper debug

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

答案 1 :(得分:3)

确保检查用户和系统范围环境变量。我不确定一个人在这里的优先级是什么,但很可能你只检查了一个并在那里创建它并被另一个覆盖。

此外,在创建环境变量时,请确保打开新的命令shell以使更改生效。然后尝试'set',它将列出您刚刚创建的命令提示符在环境中看到的所有环境变量。

如果一切顺利,但Ant仍然没有看到正确的那个,那么如果没有在那里设置javahome,则检查启动ANT的批处理文件。如果确保它使用环境变量并且不尝试再次设置它。

希望这有帮助