使用ANT时,如果我有一些特定的java版本,我怎么才能定义一个任务?

我有一个问题,只有当我们在构建计算机中安装了Java 1.5时,才能执行Ant中的特定步骤。 任务定义使用使用1.5编译的jar文件,因此使用1.4虚拟机运行将抛出IncompatibleClassVersionexception。

我必须找到一个解决方案,同时让这项任务适用于需要1.4的特定项目,但是我遇到了一个问题。 如果我没有特定的Java版本,如何避免定义此任务并执行此可选步骤?

我可以在目标标签上使用“if”或“unless”标签,但这些标签只检查是否设置了属性。 我也希望有一个不需要额外库的解决方案,但我不知道标准中的内置function是否足以执行这样的任务。

Java版本通过ant.java.version属性公开。 使用条件设置属性并仅在其为真时执行任务。

            

检查构建文件的属性是${ant.java.version}

当属性等于某个值时,您可以使用元素使任务成为条件: