使用Ant将战争构建为文件夹

时间:2011-08-25 04:20:35

标签: java java-ee ant war

我正在使用ant构建我的战争来部署它。但是蚂蚁将战争建立为“webapp.war”文件。我需要将其构建为“webapp.war”文件夹,我该如何使用ant?

   <target name="war" depends="compile"> 
      <war destfile="dist/AntExample.war" 
webxml="WebContent/WEB-INF/web.xml" keepcompression="false"> 
         <fileset dir="WebContent"/> 
         <lib dir="WebContent/WEB-INF/lib"/> 
         <classes dir="build/classes"/>
        </war> 
    </target>

2 个答案:

答案 0 :(得分:4)

试试这个......对我有用

<target name="war" depends="compile">
    <war destfile="dist/deployme_temp.war" webxml="web/WEB-INF/web.xml">
        <fileset dir="web"/>
        <lib dir="web/WEB-INF/lib"/>
        <classes dir="build/classes"/>
    </war>
</target>

<target name="unzip" depends="war">
    <unzip src="dist/deployme_temp.war" dest="dist/deployme.war" />
</target>


<target name="copy-war" depends="unzip">
       <copy todir="${deploy.destination}/deployme.war" overwrite="true">
         <fileset dir="dist/deployme.war"/>
       </copy>
</target>

答案 1 :(得分:0)

尝试copy task(假设您使用的是Eclipse Dynamic Web Project布局):

<property name="dist"  location="webapp.war"/>
<target name="war folder"  depends="compile"  description="generate the distribution" >
   <mkdir dir="${dist}/WEB-INF/classes"/>
   <copy todir="${dist}">
      <fileset dir="WebContent"/>
   </copy>

   <copy todir="${dist}/WEB-INF/classes">
     <fileset dir="yourClassDir"/>
   </copy>
   <!-- other stuff to copy-->
</target>