我有一个使用fork = true完成构建的需求。我正在考虑设置全局并在整个构建机器中使用它。帮助赞赏。在javac ant中设置fork的默认值
1
A
回答
1
不。没有这种全局开关。
如果您在生成文件中有许多javac
,认为:
解决方案1:
<property name="fork" value="yes" />
,然后在您致电javac
任何地方,
<javac ... fork="${fork}" ....>
解决方案2 :
Ne自动生成的ant构建文件tbeans项目使用:使用macrodef
换行javac
,然后在构建文件中使用此macrodef
。
您可以在nbproject
文件夹中检查任何Netbeans项目build-impl.xml
。
3
Ant的<presetdef>
根据现有任务声明新任务。
下面的片段定义了与fork
属性设置的<javac>
任务:
<presetdef name="my-javac">
<javac fork="yes"/>
</presetdef>
<my-javac>
可以与任何<javac>
的属性可以称为:
<my-javac srcdir="${my.src}" deprecation="no"/>
一个警告:指定在致电<my-javac>
的呼叫中的fork
属性将覆盖<presetdef>
中指定的fork
属性:
<!-- Overrides my-javac's default fork attribute -->
<my-javac srcdir="${my.src}" deprecation="no" fork="no"/>
<presetdef>
仅用于设置默认值,而不用于执行要求。
这是好事!比'macrodef'解决方案简单得多! – coolcfan 2013-02-15 12:05:22