在 Ant javac 模式集中使用 If 条件
Using If condition in Ant javac patternset
我想排除一些要编译的包,如果 属性 是对还是错。下面是我的 ant 脚本,但出现错误:
<javac srcdir="src;src-generated" destdir="classes" debug="true" encoding="utf-8">
<if>
<equals arg1="${compile.csv}" arg2="false"/>
<then>
<exclude name="${csv.package}"/>
<exclude name="${excel.package}"/>
</then>
</if>
javac 不支持嵌套的 "if" 元素。
提前感谢您的回答。
编辑:
我在 ant 构建配置的属性选项卡中定义了 属性 csv.plugin.disabled。
<property name="csv.package" value="com/service/transfer/impl/**"/>
<property name="excel.package" value="com/service/transfer/excel/impl/**"/>
<javac srcdir="src;src-generated" destdir="classes" debug="true" encoding="utf-8">
<exclude name="${csv.package}" if="${csv.plugin.disabled}"/>
<exclude name="${excel.package}" if="${csv.plugin.disabled}"/>
我仍然将这些包包含在 类 文件夹中。
尝试嵌套 src
元素 - 您可以在其中使用复杂的类路径结构(完整信息请参阅 Javac Task):
<src>
<fileset dir="src" >
<exclude name="${csv.package}" if="${compile.csv}" />
<exclude name="${excel.package}" if="${csv.plugin.disabled}"/>
</fileset>
<fileset dir="src-generated" >
<exclude name="${csv.package}" if="${compile.csv}" />
<exclude name="${excel.package}" if="${csv.plugin.disabled}"/>
</fileset>
</src>
javac
任务可以采用条件 include/exclude
元素。来自 documentation:
This task forms an implicit FileSet and supports most attributes of <fileset>
(dir
becomes srcdir
) as well as the nested <include>
, <exclude>
and <patternset>
elements.
<javac srcdir="src;src-generated" destdir="classes" debug="true" encoding="utf-8">
<exclude name="${csv.package}" unless="${compile.csv}" />
<exclude name="${excel.package}" unless="${compile.csv}" />
</javac>
我想排除一些要编译的包,如果 属性 是对还是错。下面是我的 ant 脚本,但出现错误:
<javac srcdir="src;src-generated" destdir="classes" debug="true" encoding="utf-8">
<if>
<equals arg1="${compile.csv}" arg2="false"/>
<then>
<exclude name="${csv.package}"/>
<exclude name="${excel.package}"/>
</then>
</if>
javac 不支持嵌套的 "if" 元素。
提前感谢您的回答。
编辑:
我在 ant 构建配置的属性选项卡中定义了 属性 csv.plugin.disabled。
<property name="csv.package" value="com/service/transfer/impl/**"/>
<property name="excel.package" value="com/service/transfer/excel/impl/**"/>
<javac srcdir="src;src-generated" destdir="classes" debug="true" encoding="utf-8">
<exclude name="${csv.package}" if="${csv.plugin.disabled}"/>
<exclude name="${excel.package}" if="${csv.plugin.disabled}"/>
我仍然将这些包包含在 类 文件夹中。
尝试嵌套 src
元素 - 您可以在其中使用复杂的类路径结构(完整信息请参阅 Javac Task):
<src>
<fileset dir="src" >
<exclude name="${csv.package}" if="${compile.csv}" />
<exclude name="${excel.package}" if="${csv.plugin.disabled}"/>
</fileset>
<fileset dir="src-generated" >
<exclude name="${csv.package}" if="${compile.csv}" />
<exclude name="${excel.package}" if="${csv.plugin.disabled}"/>
</fileset>
</src>
javac
任务可以采用条件 include/exclude
元素。来自 documentation:
This task forms an implicit FileSet and supports most attributes of
<fileset>
(dir
becomessrcdir
) as well as the nested<include>
,<exclude>
and<patternset>
elements.
<javac srcdir="src;src-generated" destdir="classes" debug="true" encoding="utf-8">
<exclude name="${csv.package}" unless="${compile.csv}" />
<exclude name="${excel.package}" unless="${compile.csv}" />
</javac>