Ant实现自动打包部署

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36386526/article/details/90080945

1.安装ant,配置环境变量;

官网:https://ant.apache.org/bindownload.cgi

Windows上安装配置:

下载apache-ant-1.10.5-bin.zip后解压,我的路径:D:\Java\ant1.10

配置环境变量:

ANT_HOME   D:\Java\ant1.10

PATH                                %ANT_HOME\bin

CLASSPATH                   %ANT_HOME\bin

进入cmd中,输入ant -version 查看是否安装成功

Linux上安装配置

下载apache-ant-1.10.5-bin.tar.gz版本:在jdk安装目录执行如下语句

sudo wget http://mirrors.shu.edu.cn/apache/ant/binaries/apache-ant-1.10.5-bin.tar.gz

解压tar -vxzf apahce-ant-1.10.5-bin.tar.gz 

配置环境变量:

export ANT_HOME=/usr/java/apache-ant-1.10.5

export PATH=$PATH:$ANT_HOME/bin

使配置文件生效:source /etc/profile

测试ant安装成功:ant -version

2.部署项目,在rls项目中添加build.xml配置文件

build.xml文件中有一行是关于tomcat的路径需要修改:

Windows中tomcat的路径:

<property name="tomcat" value="D:\Java\tomcat8.5" />

Linux中tomcat的路径:

<property name="tomcat" value="/usr/java/apache-tomcat-8.5.37"/>

进入拥有build.xml所在的目录下,输入命令:ant

成功后去tomcat的bin目录下,输入:./startup.sh启动tomcat;项目部署发布完成。

build.xml:

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

    <project name="rls" default="deleteWar" basedir=".">                      <!-- name:项目名 -->

        <property name="build" value="${basedir}/build" />

        <property name="build.class" value="${build}/classes" />

        <property name="webApp" value="${basedir}/WebContent" />

                <property name="tomcat" value="D:\Java\tomcat8.5" />                <!-- 本机tomcat安装目录 -->

        <property name="lib" value="${webApp}/WEB-INF/lib" />       <!-- 该项目下lib中的jar包 -->

                

                <property name="tomcat.lib" value="${tomcat}\lib" />                 <!-- tomcat中lib文件夹下的jar包 -->

         

        <!--请将下面的路径改为你本地的路径-->

        <property name="webserver" value="${tomcat}\webapps" />

         

        <!--定义CLASSPACH,编译时用到你外部加入的包-->

        <path id="classpath">

            <fileset dir="${lib}" includes="***.jar" />

                        <fileset dir="${tomcat.lib}" includes="***.jar" />

        </path>

     

        <!--删除任务-->

        <target name="clean" description="删除">

            <echo message="删除目录" />

            <delete dir="${build}" />

        </target>

    

        

        <!--创建一个临时目录-->

        <target name="init" description="创建目录" depends="clean">

            <echo message="创建目录--以执行" />

            <mkdir dir="${build.class}" />

        </target>

       

     

        <!--编译java源文件-->

        <target name="compile" description="编译文件" depends="init">

            <echo message="编译文件" />

            <javac destdir="${build.class}" includeAntRuntime="false">

                                                <src path="src" />                <!-- 多个src源文件 -->

                                                <src path="src-mobile" />

                                                <src path="src-reverse" />

                                                <src path="src-ars" />

                                                <src path="src-crq" />

                                                <src path="src-oti" />

                                                <src path="src_jbo_utf8" />

                                                <src path="src-platform" />

                                                <src path="src-re" />

                                                <classpath refid="classpath" />

                                                <compilerarg line="-encoding UTF-8" />

                                                <compilerarg value="-XDignore.symbol.file" />

            </javac>

        </target>

     

        <!--打成WAR包-->

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

            <echo message="打成WAR" />

            <war destfile="${build}/${ant.project.name}.war" webxml="${webApp}/WEB-INF/web.xml">

                <fileset dir="WebContent"/>  

                <lib dir="${lib}" />

                <classes dir="${build.class}" />

            </war>

        </target>

        <!--把WAR放到一个指定目录,这里是直接布署到TOMCAT服务器-->

        <target name="fabu" depends="generwar" description="发布">

            <copy file="${build}/${ant.project.name}.war" todir="${webserver}"/>

        </target>

  

        <!--把打好的WAR删除-->

        <target name="deleteWar" depends="fabu" description="删除服务器上的war">

            <delete dir="${build.class}" />                    <!--删除目录-->

                <delete file="${build}/${ant.project.name}.war" /> <!--删除文件-->

        </target>

    </project>

猜你喜欢

转载自blog.csdn.net/qq_36386526/article/details/90080945