Ant构建 - 可选地覆盖java可执行文件的位置

时间:2014-08-06 17:43:18

标签: java ant

我在同一台机器上有几个java项目,它们确实需要使用不同的java编译器构建,一个使用java 1.6,另一个使用java 1.7。 (不,使用更高版本的java构建它们并指定需要较低版本的项目的源和目标是不够的 - 它们之间的差异会导致测试失败。)

我的同事没有这个问题 - 他们只有一个需要1.6的项目。我想提供一些配置,使我能够覆盖java编译器,而无需添加环境变量。我想象这样的事情:

<javac executable='${java.executable.path}' srcdir='${src.dir}' destdir='${dest.dir.classes}' source='1.6' target='1.6' fork='true'  />

其中${java.executable.path}在文件前面定义为:

<condition property="java.executable.path" value="${env.PROJ_JAVA_HOME}" else="${DEFAULT_JAVAC}">
    <isset property="env.PROJ_JAVA_HOME" />
</condition>

除了......我找不到${DEFAULT_JAVAC}。有没有更好的方法来做到这一点,我错过了?或者蚂蚁不是为这样的东西而建的吗?

1 个答案:

答案 0 :(得分:0)

你可以默认使用路径上的任何javac。

可能set an ant property by executing a shell script,因此您需要执行which javac

之类的操作