在ANT脚本中,有没有办法将"环境"目录中的文件包含在不同的战争中?
我的文件系统树:
environnement DEV web.xml log4j.properties INT web.xml log4j.properties- WebContent
- WEB-INF
- WEB-INF
- web
- .xml log4j.properties
从构建中提取.xml :
<target name="createForDEV">
<delete file="environnement/DEV/${timeStampDay}/${warfile}.war" />
<war destfile="environnement/DEV/${timeStampDay}/${warfile}.war" webxml="environnement/DEV/web.xml" update="true">
<classes dir="build/classes" />
<fileset dir="WebContent">
<exclude name="WEB-INF/web.xml" />
<exclude name="**/Thumbs.db" />
</fileset>
</war>
</target>
<target name="createForINT">
<delete file="environnement/INT/${timeStampDay}/${warfile}.war" />
<war destfile="environnement/INT/${timeStampDay}/${warfile}.war" webxml="environnement/INT/web.xml" update="true">
<classes dir="build/classes" />
<fileset dir="WebContent">
<exclude name="WEB-INF/web.xml" />
<exclude name="**/Thumbs.db" />
<exclude name="**/test.jsp" />
</fileset>
</war>
</target>
我有两个配置文件:
- 适用于开发环境
- 适用于 INT 环境
当我制作 WAR 文件时,我想忽略一些文件并将它们替换为"环境"目录中的其他特定文件?
- 在目标中制作 WAR 时
createForDEV
我想从环境/DEV 中获取文件并替换相应的文件 - 在目标中制作 WAR 时
createForINT
我想从环境/INT 中获取文件并替换相应的文件
这里的诀窍是利用war
任务的duplicate
属性,并包含多个fileset
元素。 duplicate
preserve
的值告诉它忽略重复条目。 第一个fileset
中的文件(来自DEV
或INT
)将首先放置在战争中。 WebContent
中的任何其他文件都将包含在第二个fileset
中,但已包含DEV
或INT
的任何文件都将被忽略。
<target name="createForDEV">
<delete file="environnement/DEV/${timeStampDay}/${warfile}.war" />
<war destfile="environnement/DEV/${timeStampDay}/${warfile}.war" webxml="environnement/DEV/web.xml" update="true" duplicate="preserve">
<classes dir="build/classes" />
<fileset dir="environnement/DEV">
<exclude name="web.xml" />
</fileset>
<fileset dir="WebContent">
<exclude name="WEB-INF/web.xml" />
<exclude name="**/Thumbs.db" />
</fileset>
</war>
</target>
<target name="createForINT">
<delete file="environnement/INT/${timeStampDay}/${warfile}.war" />
<war destfile="environnement/INT/${timeStampDay}/${warfile}.war" webxml="environnement/INT/web.xml" update="true" duplicate="preserve">
<classes dir="build/classes" />
<fileset dir="environnement/INT">
<exclude name="web.xml" />
</fileset>
<fileset dir="WebContent">
<exclude name="WEB-INF/web.xml" />
<exclude name="**/Thumbs.db" />
<exclude name="**/test.jsp" />
</fileset>
</war>
</target>