Ant 使用的是 JRE 而不是 JDK,尽管设置了环境变量

Posted

技术标签:

【中文标题】Ant 使用的是 JRE 而不是 JDK,尽管设置了环境变量【英文标题】:Ant is using the JRE instead of JDK, although the environment variables are set 【发布时间】:2011-05-26 01:17:27 【问题描述】:

我使用的是 Windows 7 x64,并且正在尝试安装 Apache Ant。我总是收到以下错误消息:

C:\Users\xxx>ant 无法定位 工具.jar。预计会在 C:\Program Files\Java\jre6\li b\tools.jar Buildfile: build.xml 确实 不存在!构建失败

在各种论坛中,他们说环境变量设置不正确。我在我的系统上将它们设置为:

ANT_HOME: C:\Ant

类路径:C:\Program Files\Java\jdk1.6.0_21\bin

JAVA_HOME: C:\Program Files\Java\jdk1.6.0_21\bin

路径:(...很多东西...);C:\Program Files\Java\jdk1.6.0_21\bin;C:\ant\bin;%JAVA_HOME%\bin;

但我仍然收到错误消息。你知道如何强制 ant 使用正确的目录吗? Java(JRE 和 JDK)出现在 Program Files 和 Program Files (x86) 中。并且似乎在尝试使用 64x JRE。

【问题讨论】:

【参考方案1】:

JAVA_HOME 应该是 C:\Program Files\Java\jdk1.6.0_21\(删除“bin”)并且 tools.jar 将在 lib,而不是 bin。

【讨论】:

【参考方案2】:

检查“许多东西”路径 - 其中一个可能包含 java 可执行文件。

【讨论】:

【参考方案3】:

在(...很多事情...)区域中,您有通往 JRE 的路径吗?尝试删除它。此外,您可以尝试设置完整路径,而不是在路径中使用 %JAVA_HOME% (认为它应该可以工作,我之前遇到过问题)。

最后对于 JAVA_HOME,删除 \bin

【讨论】:

【参考方案4】:

我知道这是一篇旧帖子,但这里有此帖子的链接:

http://ant.apache.org/manual/

它声称不设置类路径,因为 Ant 可能会打破混乱。如果发生这种情况,则应添加以下内容以忽略它:

<property environment="env."/>
<property name="env.CLASSPATH" value=""/>
<fail message="Unset $CLASSPATH / %CLASSPATH% before running Ant!">
    <condition>
        <not>
            <equals arg1="$env.CLASSPATH" arg2=""/>
        </not>
    </condition>
</fail>

希望这能有所帮助,以防有人像我一样偶然发现这个问题。

【讨论】:

【参考方案5】:

我知道这是一篇旧帖子,但 followind 为我做了诀窍 在 JAVA_HOME 中替换 "Program Files" -> "Progra~1"

【讨论】:

以上是关于Ant 使用的是 JRE 而不是 JDK,尽管设置了环境变量的主要内容,如果未能解决你的问题,请参考以下文章

Ant + Vista 64:“无法找到 tools.jar”(jre/jdk 冲突?)

tomcat, jdk, eclipse, ant的安装,设置及常见问题

如何获取最新的 JRE / JDK 作为 zip 文件而不是 EXE 或 MSI 安装程序? [关闭]

转新建maven工程为什么jdk会是默认版本 而不是自己设置的版本?

如何更改 ant 的 JAVA_HOME?

javac.exe与javacpl.exe