zoukankan      html  css  js  c++  java
  • ANT打包J2EE项目war包

    1.下载并安装ant

    2.安装ant步骤如下

    1.解压下载的zip包
    2.进入解压的目录,把bin目录放入系统变量PATH中.
       eg:E:dev_toolsapache-ant-1.9.2in
    3.打开cmd,输入ant,可以看到BuildFIle: build.xml does not exist!即可
    View Code

     3.写build.xml即可

    <project basedir="E:SVNabyshowserver" default="antwar" name="anttest">
        <target name="init" description="设置初始化打 war 包需要的路径变量">
            <property name="name" value="anttest"/>
            <property name="src" value="${basedir}/xxxx/src"/>
            <property name="lib" value="${basedir}/xxxx/WebContent/WEB-INF/lib"/>
            <property name="webapp" value="${basedir}/xxxx/WebContent"/>
    
            
            <property name="build.src" value="${basedir}/AntBuild/xxxx/src"/>
            <property name="build.dest" value="${basedir}/AntBuild/xxxx/WEB-INF/classes"/>
            <property name="buildwar.dest" value="${basedir}/AntBuild/xxxx"/>
            <property name="jar.dest" value="${basedir}/AntBuild/jar"/>
            <property name="war.dest" value="${basedir}/AntBuild/war"/>
            <!-- 打包后war包的名字 -->
            <property name="war.dir" value="${war.dest}/xxxx.war"/>
            <path id="classpath">
                <fileset dir="${lib}">
                    <include name="*.jar"/>
                </fileset>
            </path>
        </target>
        
        <target name="prepare" depends="init" description="创建打包需要的路径,拷贝源文件到打包路径下">
            <mkdir dir="${build.src}"/>
            <mkdir dir="${build.dest}"/>
            <mkdir dir="${buildwar.dest}"/>
            <mkdir dir="${jar.dest}"/>
            <mkdir dir="${war.dest}"/>
            <copy todir="${build.src}">
                <fileset dir="${src}"/>
            </copy>
            
            <copy todir="${buildwar.dest}">
                <fileset dir="${webapp}">
                    <exclude name="${webapp}/WEB-INF/lib/*.jar"/>
                </fileset>
                
            </copy>
        </target>
        <target name="build" depends="prepare" description="编译java文件,拷贝properties属性配置文件到编译后的路径下">
            <javac srcdir="${build.src}" destdir="${build.dest}" encoding="UTF-8">
                <classpath refid="classpath"/>
            </javac>
            <copy todir="${build.dest}">
                <fileset dir="${build.src}">
                    <include name="product.properties"/>
                </fileset>
            </copy>
        </target>
        
        <target name="antwar" depends="clean,build" description="打war包,不将java文件打入包内">
            <delete dir="${build.src}"/>
            <delete dir="${buildwar.dest}/WEB-INF/lib"/>
            <war warfile="${war.dir}" webxml="${buildwar.dest}/WEB-INF/web.xml">
                <fileset dir="${buildwar.dest}">
                    <exclude name="${buildwar.dest}/WEB-INF/lib/**"/>
                </fileset>
            </war>
        </target>
    
        <target name="clean" depends="init" description="清除打包用临时文件">
            <delete dir="${build.src}"/>
            <delete>
                <fileset dir="${build.dest}" includes="**/*.classes"/>
            </delete>
            <delete dir="${buildwar.dest}"/>
        </target>
    </project>
    View Code

     4.通过命令行进入到build.xml所以目录,执行 ant 即可打包,执行ant clean会删除之前生成的目录

  • 相关阅读:
    readonly const
    多线程的安全性
    【C++】operator运算符重载
    C++ 多态的实现及原理(转载)
    C语言宽字符处理函数对照表
    UTF8编码规则(转)
    PE文件结构(转)
    C语言中宏定义
    汇编语言移位指令
    数组指针应该结合二维数组多维数组来理解
  • 原文地址:https://www.cnblogs.com/baron89/p/3205362.html
Copyright © 2011-2022 走看看