创建特定的 WAR 文件

  • 本文关键字:WAR 文件 创建 ant
  • 更新时间 :
  • 英文 :


在ANT脚本中,有没有办法将"环境"目录中的文件包含在不同的战争中?

我的文件系统树:

environnement DEV web.xml log4j.properties INT web.xml log4j.properties
  • WebContent
    • 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中的文件(来自DEVINT)将首先放置在战争中。 WebContent 中的任何其他文件都将包含在第二个fileset中,但已包含DEVINT的任何文件都将被忽略。

<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>

相关内容

  • 没有找到相关文章