ant打JAR、WAR包

本文详细介绍了如何使用ANT工具进行JAR和WAR包的构建。首先讲解了ANT的安装步骤,包括下载、解压及配置系统环境变量。接着展示了创建JAR包的配置,包括设置源代码路径、构建目录、主类等,并演示了编译、打包及运行JAR文件的过程。最后,文章阐述了构建WAR包的配置,包括复制JSP、JAR、CLASS文件到目标目录,以及生成WAR包的完整步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. ant安装

上官网下载ANT:http://ant.apache.org/bindownload.cgi

解压出来,添加系统变量ANT_HOME,并把ANT路径加入系统变量Path中

在命令行中,来到当前项目的路径(打包文件build.xml在该目录下)

在命令行中输入ant,回车就可以看到结果


2. ant打JAR包


<?xml version="1.0" encoding="UTF-8"?>
<project name="HelloWorld" basedir="." default="main">
    <property name="src.dir" value="src" /> <!-- 源JAVA文件的路径 -->
    <property name="build.dir" value="build-lib" /> <!-- JAR包存放的路径 -->
    <property name="classes.dir" value="${build.dir}/classes" /> <!-- CLASS文件存放的路径 -->
    <property name="main-class" value="com.Main" /> <!-- 可以运行的JAVA类 -->
    
    <!-- 清理生成CLASS文件和JAR包的文件夹 -->
    <target name="clean">
        <delete dir="${build.dir}" />
    </target>

    <!-- 程序用到的第三方JAR包 -->
    <path id="lib_classpath">
        <fileset dir="lib/">
            <include name="*.jar" />
        </fileset>
    </path>
    
    <!-- 将JAVA文件编译成CLASS文件,并存放到指定目录build-lib/classes中-->
    <target name="compile">
        <mkdir dir="${classes.dir}" />
        <javac srcdir="${src.dir}" destdir="${classes.dir}">
            <classpath refid="lib_classpath" />
        </javac>
    </target>

    <!-- 将目录build-lib/classes中的CLASS文件打成JAR包 -->
    <target name="jar" depends="compile">
        <mkdir dir="${build.dir}" />
        <mkdir dir="${build.dir}/lib" />
        <copy file="lib/jdom.jar" todir="${build.dir}/lib"/>  <!-- 将第三方JAR包拷相应的目录 -->
        <jar destfile="${build.dir}/common-0.0.1.jar" basedir="${classes.dir}">
            <manifest>
                <attribute name="Main-Class" value="${main-class}" />
                <attribute name="Class-Path" value=". lib/jdom.jar"/><!-- 设置第三方JAR包的访问路径 -->
            </manifest>
            <!--<zipfileset src="E:\eastcom_workspace\Jar\lib\jdom.jar"/> 把第三方JAR包打进JAR包里面,运行JAR包时会用到 -->
        </jar>
    </target>

    <!-- 运行JAR包-->
    <target name="run" depends="jar">
        <java jar="${build.dir}/common-0.0.1.jar" fork="true">
        </java>
    </target>
    
    <!-- 把生成的CLASS文件删除 -->
    <target name="clean-build">
        <delete dir="${classes.dir}" />
    </target>
    
    <target name="main" depends="clean, run, clean-build" />

</project>

3. ant打WAR包


<?xml version="1.0" encoding="UTF-8"?>
<project name="HelloWorld" basedir="." default="build.war">
    <property name="classes.dir" value="./WebRoot/WEB-INF/classes" />
    <property name="lib.dir" value="./WebRoot/WEB-INF/lib" />
    <property name="build.web.dir" value="build-web" />

    <!-- 将要打包的JSP文件、JAR包、CLASS文件拷贝到打包文件-->
    <target name="copy.war" description="">
        <delete dir="${build.lib.dir}" />
        <delete dir="${build.web.dir}" />
        <mkdir dir="${build.web.dir}" />
        <mkdir dir="${build.web.dir}/WEB-INF" />
        <mkdir dir="${build.web.dir}/WEB-INF/lib" />
        <mkdir dir="${build.web.dir}/WEB-INF/classes" />
        <copy todir="${build.web.dir}">
            <fileset dir="./WebRoot/" includes="*.jsp" />
        </copy>
        <copy todir="${build.web.dir}/WEB-INF">
            <fileset dir="./WebRoot/WEB-INF/" includes="*.*" />
        </copy>
        <copy todir="${build.web.dir}/WEB-INF/lib">
            <fileset dir="${lib.dir}" includes="*.jar" />
        </copy>
        <copy todir="${build.web.dir}/WEB-INF/classes">
            <fileset dir="${classes.dir}" includes="**/*.*" />
        </copy>
    </target>

    <!-- 将JSP文件、JAR包、CLASS文件打包成WAR包-->
    <target name="build.war" depends="copy.war" description="builds compact HelloWorld.war">
            <delete>
                <fileset dir="./">
                    <include name="HelloWorld.war" />
                </fileset>
            </delete>
            <war encoding="utf8" destfile="${build.web.dir}/HelloWorld.war" webxml="${build.web.dir}/WEB-INF/web.xml" basedir="${build.web.dir}" />
              <delete dir="${build.web.dir}/WEB-INF"/>
            <delete file="${build.web.dir}/index.jsp" />
        </target>
</project>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值