【发布时间】:2011-02-01 21:49:33
【问题描述】:
here 提供的脚本提供了一种检查 Ant 是否使用 Java 6 的好方法。
<?xml version="1.0" encoding="UTF-8"?>
<project name="project" default="default">
<target name="default" depends="javaCheck" if="isJava6">
<echo message="Hello, World!" />
</target>
<target name="javaCheck">
<echo message="ant.java.version=${ant.java.version}" />
<condition property="isJava6">
<equals arg1="${ant.java.version}" arg2="1.6" />
</condition>
</target>
</project>
但是,我有充分的理由认为,下一个担任我职位的人可能不是 Java 程序员,我想确保构建不会因为 Java 7 而失败。有什么方法可以分离字符串或否则要求 Java 6 或更高版本?
【问题讨论】:
-
您需要知道脚本中的 JVM 级别的原因是什么?
-
我正在尝试防范 Mac 10.5 上的 Java 5 javac。该 javac 不知道 Java 6 库。 Ant 中的
任务没有提供指定所需版本的方法,没有使用 并提供 bin 的确切路径。 标签只处理兼容性;它不会使旧 javaroot 中的旧 javac 知道其他 javaroot 中的 jre 库。 -
底线:我需要编译一个使用新的 Desktop 类的程序,并且我希望脚本在他们的 Java 不会削减它时警告人们。这样他们就不会得到关于未知符号的令人困惑的编译器错误。