8

我在 Win 7 下运行 Ant 1.8.1。我的 Java 版本是 1.7_17。

我在构建文件中添加以下 2 行以进行诊断。

<echo message="java.version  = ${ant.java.version}"                   />
<echo message="java.home     = ${java.home}"                          />

结果是

 [echo] java.version  = 1.6
 [echo] java.home     = C:\Program Files\Java\jre7

知道发生了什么吗?

是否在 Ant 1.8.1 中硬编码它可以显示的最高 Java 版本是 1.6?

4

3 回答 3

12

我是从 Ant 网站上找到的。它实际上是硬编码的。

ant.java.version    the JVM version Ant detected; currently it can hold
                    the values "1.2", "1.3",
                    "1.4",  "1.5" and "1.6".

将我的 Ant 更新到 1.9.0 后,问题就解决了。

 [echo] java.version  = 1.7
 [echo] java.home     = C:\Program Files\Java\jdk1.7.0_17\jre

这有点好笑。:)

于 2013-03-14T19:41:47.267 回答
0

看起来您的 JAVA_HOME 设置正确,但是您的 PATH 环境变量中是否包含 %JAVA_HOME%\bin ?看起来您当前正在从 Java 6 安装中获取 java.exe。

于 2013-03-14T19:12:17.753 回答
0

我认为ant.java.version显示了构建 Ant 的 Java 版本。您的 java 安装的实际版本存储在java.version.

于 2014-09-16T07:36:30.457 回答