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。我无法在任何地方找到这种配置。
任何想法发生了什么?
答案 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构建任何问题。