基于ant的java项目构建Build.xml

<?xml version="1.0"?>

<project name="base-server-jar" default="compile" basedir=".">
    <property name="project.name" value="base-server"/>
    <property name="jar.name" value="${project.name}.jar"/>

    <!-- 一般Jar包的依赖 -->
    <path id="compile.common.lib">
        <!--        设置依赖路径-->
        <fileset dir="./libs" erroronmissingdir="false">
            <include name="*.jar"/>
        </fileset>
        <fileset dir="./export-libs" erroronmissingdir="false">
            <include name="*.jar"/>
        </fileset>
        <fileset dir="./mybatis-plus-libs" erroronmissingdir="false">
            <include name="*.jar"/>
        </fileset>
        <fileset dir="./security-libs" erroronmissingdir="false">
            <include name="*.jar"/>
        </fileset>
        <fileset dir="./swagger-libs" erroronmissingdir="false">
            <include name="*.jar"/>
        </fileset>
    </path>
    <property name="compile.version" value="1.8"/>
    <property name="compile.encoding" value="UTF-8"/>
    <property name="compile.classpath" refid="compile.common.lib"/>

    <property name="project.src.dir" value="./src/main/java"/>
    <property name="project.build.dir" value="./build"/>
    <property name="project.dist.dir" value="./dist"/>

    <target name="init">
        <!-- Create the time stamp -->
        <tstamp/>
        <!-- 创建build目录-->
        <mkdir dir="${project.build.dir}"/>
        <!-- 创建dist目录-->
        <mkdir dir="${project.dist.dir}"/>
    </target>

    <!-- 一.编译 -->
    <target name="compile" depends="clean,init">

        <!-- 1.编译 -->
        <javac includeAntRuntime="false" source="${compile.version}" target="${compile.version}"
               encoding="${compile.encoding}" classpath="${compile.classpath}"
               srcdir="${project.src.dir}" destdir="${project.build.dir}" debug="true" debuglevel="lines,vars,source">
            <compilerarg value="-Xlint:unchecked"/>
        </javac>

        <!-- 2.处理非Java文件 -->
        <first id="first.dir">
            <path>
                <pathelement path="${project.src.dir}/resources"/>
            </path>
        </first>
    </target>

    <!--    创建实体清单-->
    <pathconvert property="libs.project" pathsep=" ">
        <mapper>
            <chainedmapper>
                <!-- 移除文件绝对路径 -->
                <flattenmapper/>
                <!-- 为文件依赖添加libs/前缀 -->
                <globmapper from="*" to="libs/*"/>
            </chainedmapper>
        </mapper>
        <path>
            <!-- 依赖jar包 -->
            <fileset dir="./libs">
                <include name="**/*.jar"/>
            </fileset>
            <fileset dir="./export-libs">
                <include name="*.jar"/>
            </fileset>
            <fileset dir="./mybatis-plus-libs">
                <include name="*.jar"/>
            </fileset>
            <fileset dir="./security-libs">
                <include name="*.jar"/>
            </fileset>
            <fileset dir="./swagger-libs">
                <include name="*.jar"/>
            </fileset>
        </path>
    </pathconvert>

    <!-- 二.打包 -->
    <target name="package" depends="compile">

        <!-- 2.2创建实体清单-->

        <!--2.3打包到输出目录-->
        <jar destfile="${project.dist.dir}/${jar.name}" basedir="${project.build.dir}" compress="false">
            <!--            设置Java运行类-->
            <manifest>
                <!--                标明创建人-->
                <attribute name="Built-By" value="${user.name}"/>
                <!--                标明创建时间-->
                <attribute name="Created-Time" value="${DSTAMP}"/>
                <!--                标明运行类-->
                <attribute name="Main-Class" value="com.jztech.baseserver.BaseServerApplication"/>
                <!--                标明运行依赖-->
                <attribute name="Class-Path" value="${libs.project}"/>
            </manifest>
        </jar>

        <!--        拷贝依赖到打包输出目录-->
        <copydir dest="${project.dist.dir}/libs" src="./libs"/>
        <copydir dest="${project.dist.dir}/libs" src="./export-libs"/>
        <copydir dest="${project.dist.dir}/libs" src="./swagger-libs"/>
        <copydir dest="${project.dist.dir}/libs" src="./mybatis-plus-libs"/>
        <copydir dest="${project.dist.dir}/libs" src="./security-libs"/>

        <!--        拷贝sqlite数据库,如项目未使用sqlite可删除该复制项-->
        <copydir dest="${project.dist.dir}/db" src="./db"/>

        <!--        拷贝配置到打包输出目录-->
        <copydir dest="${project.dist.dir}/config" src="./config"/>
    </target>

    <!-- 三、清理-->
    <target name="clean" description="clean up">
        <!--        删除编译目录-->
        <delete dir="${project.build.dir}"/>
        <!--        删除打包输出目录-->
        <delete dir="${project.dist.dir}"/>
    </target>

</project>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值