蚂蚁使用了错误的 Java 版本


Ant 正在使用 Java 1.5

,即使我没有安装 Java 1.5。我必须使用蚂蚁 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。我在任何地方都找不到此配置。

知道发生了什么吗?

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

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

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

然后 ant 1.7.0 报告:

检测到的 Java 版本:1.6 英寸:C:\程序文件\Java\jdk1.8.0_25\jre

但稍后,它显示:

[回声] 1.8.0_25

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

检测到的 Java 版本:1.8 英寸:C:\程序文件\Java\jdk1.8.0_25\jre

不出所料。因此,这只是旧版本的ant的一个案例,它错误地报告了它检测到的Java版本,因为它不知道较新版本。我不相信它实际上会给你使用 Java 1.6.0_37 构建带来任何问题。

最新更新