1

我需要在整个构建过程中使用 fork=true。我正在考虑全局设置它并在我的构建机器上使用它。帮助表示赞赏。

4

2 回答 2

4

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>仅对设置默认值有用,对强制要求无效。

于 2013-02-14T17:35:09.360 回答
1

不,没有这样的全局开关。

如果您javac的构建文件中有很多,请考虑:

解决方案1:

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

然后,在你打电话的任何地方javac

<javac ... fork="${fork}" ....>

解决方案2:

Netbeans项目自动生成的ant构建文件使用这个:javac使用a包裹macrodef,然后macrodef在构建文件中使用这个。

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

于 2013-02-14T14:55:45.367 回答