Ant使用错误的Java版本

时间:2014-12-10 22:50:13

标签: java macos ant

Ant正在使用Java 1.5,即使我没有安装Java 1.5。我必须使用ant 1.6.5。它不是升级的选择。

诊断有趣的输出:

java -version
java version "1.6.0_37"

./apache-ant-1.6.5/bin/ant  -v | grep -i java
Detected Java version: 1.5 in: /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

似乎有一种配置迫使ant以1.5兼容性运行java。我无法在任何地方找到这种配置。

任何想法发生了什么?

1 个答案:

答案 0 :(得分:1)

我系统上最老的ant版本是1.7.0(我的组织也有需要使用过时版本的ant构建的项目)。

如果我使用以下build.xml文件运行ant -v

<?xml version="1.0"?>
<project name="ant-test" default="test">
    <target name="test">
        <echo message="${java.version}" />
    </target>
</project>

然后蚂蚁1.7.0报道:

  

检测到的Java版本:1.6 in:C:\ Program Files \ Java \ jdk1.8.0_25 \ jre

但稍后会显示:

  

[echo] 1.8.0_25

如果我使用我已经安装的ant 1.8.4或ant 1.9.3运行它,它会报告:

  

检测到的Java版本:1.8英寸:C:\ Program Files \ Java \ jdk1.8.0_25 \ jre

正如所料。所以这只是一个旧版本的ant的情况,它错误地报告了它检测到的Java版本,因为它不了解更新的版本。我不相信它实际上会导致您使用Java 1.6.0_37构建任何问题。