zoukankan      html  css  js  c++  java
  • 利用ant进行编译和发布项目

    本文通过一个示例来解说如何通过ant进行编译和发布项目。
    本例按如下目录结构来组织项目。

    D:/web/antsample项目根目录
    D:/web/antsample/src源代码目录
    D:/web/antsample/src/sample/HelloWorld.java示例HelloWorld代码文件
    D:/web/antsample/app应用程序目录
    D:/web/antsample/app/index.jsp默认首页文件
    D:/web/antsample/app/WEB-INF
    D:/web/antsample/app/WEB-INF/web.xml应用程序描述文件
    D:/web/antsample/app/WEB-INF/lib应用程序库目录
    D:/web/antsample/context.xml应用程序环境配置文件,数据源、应用程序路径(path)、文档路径(docBase)等信息在此配置。
    D:/web/antsample/build.xml


    build.xml 文件内容

    <?xml version="1.0" encoding="UTF-8"?>
    <project name="antsample" default="jar" basedir=".">
     <property environment="env"/>
     <echo message="Ant 版本 ${ant.java.version}"/> 
     <property name="tomcat.home" value="/home/xiaojf/tomcat6"/> <!-- tomcat目录 -->
     <property name="web.home" value="./app"/> <!-- 应用程序目录 -->
     <property name="src.home" value="./src"/> <!-- java源文件目录 -->
     <property name="jarFile" value="${web.home}/WEB-INF/lib/${ant.project.name}.jar"/> <!-- jar文件位置 -->
     <property name="warFile" value="./${ant.project.name}.war"/> <!-- war文件位置 -->
     <property name="srcDeployFile" value="./context.xml"/> <!-- 源部署文件 -->
     <property name="distDeployFile" value="${tomcat.home}/conf /Catalina/localhost/${ant.project.name}.xml"/> <!-- 源部署文件 -->
     <property name="jdk1.5" value="/usr/lib/jvm/jdk1.5/bin/javac"/> <!-- 设置jdk1.5编译器的全路径 -->
     <property name="jdk1.6" value="/usr/lib/jvm/jdk1.6/bin/javac"/> <!-- 设置jdk1.6编译器的全路径 -->
     <property name="javaCompiler" value="${jdk1.6}"/> <!-- 编译时使用的javac -->
     <!-- 设置 classpath,即编译时需要引用的库文件 -->
     <path id="classpath">
     <fileset dir="${web.home}/WEB-INF/lib"> <!-- 引用应用程序WEB-INF/lib下的所有jar -->
        <include name="**/*.jar"/>
     </fileset>
     <fileset dir="${tomcat.home}/lib"> <!-- 引用Tomcat/lib下的所有jar -->
        <include name="**/*.jar"/>
     </fileset>
       </path>
     <!-- 清除已经生成的class文件 -->
       <target name="clean">
     <delete>
     <fileset dir="${src.home}" includes="**/*.class"/>
     </delete>
       </target>
     <!-- 编译src.home下的所有java文件。fork被设置为true,这样可指定编译使用的JDK,此处使用jdk1.5。必须根据java源文件的编码来设置encoding。 -->
       <target name="compile" depends="clean">
     <javac srcdir="${src.home}"
       debug="on"
       deprecation="on"
       optimize="off"
       includes="**"
       includeantruntime="on"
       encoding="UTF-8"
       fork="yes"
       executable="${javaCompiler}"
       >
       <classpath refid="classpath"/>
       <compilerarg value="-Xlint:unchecked"/>
     </javac>
       </target>
     
     <!-- 打包,并将jar放置在应用程序WEB-INF/lib下。 -->
     <target name="jar" depends="compile">
     <jar destfile="${jarFile}"
     basedir="${src.home}"
     includes="**/*.class **/*.xml"/>
     </target>
     
     <target name="war" depends="jar">
     <war destfile="${warFile}"
     basedir="${web.home}"/>
     </target>
     
     <!-- 布置应用程序到Tomcat -->
     <target name="deploy">
     <copy file="${srcDeployFile}" tofile="${distDeployFile}"/>
     </target>
     <!-- 从Tomcat上卸载应用程序 -->
     <target name="undeploy">
     <delete file="${distDeployFile}"/>
     </target>
    </project>


     
    运行本例,您必须修改build.xml中tomcat目录的全路径和context.xml中的相应信息。
    进入D:/web/antsample,输入ant命令,即可编译程序,并将其生成的class文件打包成jar,布置到app/WEB-INF/lib下。
    运行ant deploy 即可拷贝context.xml到Tomcat/conf/Catalina/localhost/antsample.xml,完成程序的布置。
    运行ant undeploy 即可删除Tomcat/conf/Catalina/localhost/antsample.xml文件完成程序的卸载。

    现在您可以输入 http://localhost:8080/antsample 来访问例子程序了。

  • 相关阅读:
    数列分段
    2020-01-21 数组 最大子序和
    2020-01-21 数组
    补 2020-01-20 数组 删除排序数组中的重复项
    补2020-01-19 数组 两数之和
    2020-01-18 刷题 螺旋矩阵 II
    2020-01-16 刷题 长度最小的子数组
    2020-01-15 刷题 移除元素
    2020-01-14 QT学习记录
    2020-01-14 数组刷题-1
  • 原文地址:https://www.cnblogs.com/huangcongcong/p/4700772.html
Copyright © 2011-2022 走看看