在javac ant中设置fork的默认值

时间:2013-02-14 12:53:04

标签: ant task javac

我需要在我的构建中使用fork = true。我正在寻找全局设置并在我的构建机器上使用它。帮助赞赏。

2 个答案:

答案 0 :(得分:3)

Ant <presetdef>根据现有任务声明新任务。

以下片段定义<javac>任务,其fork属性设置为:

<presetdef name="my-javac">
   <javac fork="yes"/>
</presetdef>
可以使用<my-javac>的任何属性调用

<javac>

<my-javac srcdir="${my.src}" deprecation="no"/>

警告:在调用fork时指定<my-javac>属性将覆盖fork中指定的<presetdef>属性:

<!-- Overrides my-javac's default fork attribute -->
<my-javac srcdir="${my.src}" deprecation="no" fork="no"/>

<presetdef>仅对设置默认值有用,而不是用于强制执行要求。

答案 1 :(得分:1)

没有。没有这种全球转换。

如果构建文件中有许多javac,请考虑:

解决方案1:

<property name="fork" value="yes" />

然后,在您拨打javac

的任何地方
<javac ... fork="${fork}" ....>

解决方案2:

Netbeans项目自动生成的ant构建文件使用以下方法:使用javac包裹macrodef,然后在构建文件中使用此macrodef

您可以检查build-impl.xml文件夹中nbproject的任何Netbeans项目。