Ant build war包

前言

之前学习过使用ant打jar包,今天尝试了下打war包,原因是自己vps上的项目扩展越来越大,每次使用eclipse export的war分散在各处还没有标签作记录,使用ant可以很方便地命名,打包和管理。

example

直接上脚本,注释很全

<?xml version="1.0" encoding="UTF-8"?>  

<!-- 定义一个工程,默认任务为build-war -->  
<project name="create war file" default="build-war" basedir=".">  

    <!-- 定义属性,打成war包的名称 -->  
    <property name="warFileName" value="Demo.war"></property>  

    <!--自定义时间格式-->
    <tstamp prefix="myDate">
            <format property="day" pattern="yyyy-MM-dd"/>
            <format property="time" pattern="HH:mm:ss"/>
            <format property="date" pattern="yyyy-MM-dd_HH:mm:ss"/>
            <format property="dt" pattern="yyyyMMdd_ss"/>
    </tstamp>

    <!-- 定义路径,编译java文件时用到的jar包 -->  
    <path id="project.lib">  
        <fileset dir="${basedir}/WebContent/WEB-INF/lib">  
            <include name="**/*.jar"/>  
        </fileset>  
    </path>  

    <!-- 定义任务,清空任务:清空原有的class文件,创建新的build路径 -->  
    <target name="clean">  
        <delete dir="${basedir}/bin" />  
        <mkdir dir="${basedir}/bin" />  
    </target>  

    <!-- 定义任务,编译src文件夹中的java文件,编译后的class文件放到创建的文件夹下 -->  
    <target name="compile" depends="clean">  
        <javac srcdir="${basedir}/src" destdir="${basedir}/bin" includeantruntime="false">  
            <classpath refid="project.lib">  
            </classpath>  
        </javac>  
    </target>  

    <!-- 开始任务 -->
     <target name="build-war" depends="build">
        <delete dir="${basedir}/bin" />
     </target>

    <!-- 定义默认任务,将class文件集合成war包 -->  
    <target name="build" depends="compile">  
        <!--将原来war包重命名Demo_date.war 新的war用于直接发布-->  
        <rename src="${basedir}/build/Demo.war" dest="${basedir}/build/Demo_${myDate.dt}.war"/>

        <!-- 建立新war包 -->  
        <war destfile="${basedir}/build/${warFileName}" webxml="${basedir}/WebContent/WEB-INF/web.xml">  
            <!-- 将非jar和非class文件拷贝到war包的对应路径下 -->  
            <fileset dir="${basedir}/WebContent">  
                <include name="**/**.*" />  
                <exclude name="**/*.jar"/>  
                <exclude name="**/*.class"/>  
            </fileset>  
            <!-- 将jar和class文件拷贝到war包的对应路径下 -->  
            <lib dir="${basedir}/WebContent/WEB-INF/lib" />  
            <classes dir="${basedir}/bin" />  
        </war>  
    </target>  

</project> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值