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。我在任何地方都找不到这个配置。
有什么想法吗?
最佳答案
我的系统上最旧的 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>
然后 ant 1.7.0 报告:
Detected Java version: 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 运行它,它会报告:
正如预期的那样。所以这只是旧版本 ant 的一个例子,它错误地报告了它检测到的 Java 版本,因为它不知道新版本。我不相信它实际上会给您使用 Java 1.6.0_37 构建带来任何问题。Detected Java version: 1.8 in: C:\Program Files\Java\jdk1.8.0_25\jre
关于java - Ant 使用错误的 Java 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27412336/