您的位置:首页 > 其它

ANT生成war包

2015-12-04 16:58 330 查看
一、使用ant脚本前的准备
1、下载一个ant安装包。如:apache-ant-1.8.4-bin.zip。解压到E盘。
2、配置环境变量。新增ANT_HOME:E:\apache-ant-1.8.4;PATH增加:E:\apache-ant-1.8.4\bin。

3、检查ant是否配置完成。运行->cmd输入:ant -version。查看是否打印ant的版本号。

二、打包的实质
生成jar包的实质

1、编译工程src文件夹下的java文件,生成相应的class文件。
2、将所有的class文件集合成jar包。
生成war包的实质
1、编译工程src文件夹下的java文件,生成相应的class文件。
2、将工程WebContent下的除了class文件和jar包以外的文件,全部拷贝到war包的对应目录下。
3、将编译生成的class文件,全部拷贝到war包WEB-INF/classes文件夹下。

4、将工程lib中的jar包,全部拷贝到war包的WEB-INF/lib下。最后压缩成war包。

三、一个生成war包的ant脚本代码

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

<!-- 定义一个工程,默认任务为warFile。 -->

<project name="Visit" default="warFile" basedir=".">

    <!-- 定义属性,打成war包的名称。 -->

    <property name="anttest" value="anttest.war"></property>

    <!-- 定义路径,编译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}/build" />

        <mkdir dir="${basedir}/build" />

    </target>

    

    <!-- 定义任务,编译src文件夹中的java文件,编译后的class文件放到创建的文件夹下。 -->

    <target name="compile" depends="clean">

        <javac srcdir="${basedir}/src" destdir="${basedir}/build" includeantruntime="false">

            <classpath refid="project.lib">

            </classpath>

        </javac>

    </target>

    

    <!-- 定义默认任务,将class文件集合成jar包。 -->

    <target name="warFile" depends="compile">

        <!-- 删除原有war包。 -->

        <delete dir="${basedir}/${anttest}" />

        <!-- 建立新war包。 -->

        <war destfile="${basedir}/${anttest}" 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}/build" />

        </war>

    </target>

    

</project>

四、运行命令

ant –buildfile build.xml
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: