图解使用ANT打包java程序

1:在eclipse中建立如下的工程

     

    值得注意的就是build.xml文件(这个是重点后面会提到) ,其他HelloWorld中的就是一句简单的输出语句

 

2: 使用build打包(右键然后选择运行),运行后在console下可以看到如下图的过程

      

     当看到了BUILD SUCCESSFUL 表面打包成功了!!!!

 3:然后来到你的**\dist下可以看到刚刚打包成功的包 如下图 :

      

4:ANT很智能的,如果你已经实现了上面三个过程的打包,再次打包的话它会默认的执行空的操作 (如下图)

      

 

5:最重要的bulid.xml文件(此中有很多ANT内置的命令可以具体参考一下ant的用法)

      

  1. <project name="HelloWorld" default="jar" basedir=".">  
  2.     <description>  
  3.         building HelloWorld!  
  4.     </description>  
  5.   <!-- set global properties for this build -->  
  6.   <property name="src" location="src"/>  
  7.   <property name="build" location="classes"/>  
  8.   <property name="dist"  location="dist"/>  
  9.   <property name="user.name" value="qiuqiu"/>  
  10.   
  11.   <target name="init">  
  12.     <!-- Create the time stamp -->  
  13.     <tstamp/>  
  14.     <!-- Create the classes directory structure used by compile -->  
  15.     <mkdir dir="${build}"/>  
  16.   </target>  
  17.   
  18.   <target name="build" depends="init"  description="build the source code" >  
  19.     <!-- Compile the java code from ${src} into ${build} -->  
  20.     <javac srcdir="${src}" destdir="${build}"/>  
  21.   </target>  
  22.   
  23.   <target name="jar" depends="build"  
  24.         description="generate the distribution" >  
  25.     <!-- Create the distribution directory -->  
  26.     <mkdir dir="${dist}/lib"/>  
  27.   
  28.     <!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file -->  
  29.   <jar destfile="${dist}/HelloWorld-${DSTAMP}.jar" basedir="${build}">  
  30.    <manifest>  
  31.     <attribute name="Built-By" value="${user.name}"/>  
  32.     <attribute name="Main-Class" value="org.javaresearch.HelloWorld"/>  
  33.    </manifest>  
  34.   </jar>    
  35.  </target>  
  36.     
  37.   <target name="run" depends="build" description="run HelloWorld">  
  38.     <java classpath="${build}" classname="org.javaresearch.HelloWorld"></java>  
  39.   </target>  
  40.   
  41.   <target name="runjar" depends="jar" description="run HelloWorld in jar file">  
  42.          <java jar="${dist}/HelloWorld-${DSTAMP}.jar"  
  43.            fork="true"  
  44.            failοnerrοr="true"  
  45.            maxmemory="128m"  
  46.            >  
  47.          <arg value="-h"/>  
  48.          <classpath>  
  49.            <pathelement location="${dist}/HelloWorld-${DSTAMP}.jar"/>  
  50.            <pathelement path="${java.class.path}"/>  
  51.          </classpath>  
  52.        </java>  
  53.   </target>  
  54.     
  55.   <target name="clean"  
  56.         description="clean up" >  
  57.     <!-- Delete the ${build} and ${dist} directory trees -->  
  58.     <delete dir="${build}"/>  
  59.     <delete dir="${dist}"/>  
  60.   </target>  
  61. </project>  

6:ant使用指南(为了方便没有资源分的朋友下载,这里给大家0资源分):http://download.csdn.net/source/3529167 


http://blog.csdn.net/pdw_jsp/article/details/6698020

有不足之处欢迎指正





<?xml version="1.0" encoding="UTF-8"?>
<project name="shopping" basedir="." default="all">
    <!-- 系统环境变量的设定 -->
    <property name="tomcat.home" value="C:/Program Files/Apache Software Foundation/Tomcat 5.5" />
    
    <!-- 本地系统路径设定   -->
    <property name="servlet-api.jar" value="${tomcat.home}/common/lib/servlet-api.jar" />
    <property name="jsp-api.jar"     value="${tomcat.home}/common/lib/servlet-api.jar" />
    <property name="distpath.project" value="${tomcat.home}/webapps" />
    
    <!-- 工程设定  -->
    <property name="project.distname" value="shopping" />

       

       <!-- 路径设定  -->
    <property name="dir.src" value="src" />
    <property name="dir.webinf" value="WebContent/WEB-INF" />
    <property name="dir.classes" value="${dir.webinf}/classes" />
    
    <!-- 编译的类路径设定  -->
    <path id="compile.classpath">
        <pathelement path="${dir.classes}" />
        <pathelement path="${classpath}" />
        <pathelement path="${servlet-api.jar}" />
        <pathelement path="${jsp-api.jar}" />
        <fileset dir="${dir.webinf}/lib">
            <include name="*.jar" />
        </fileset>
    </path>
    
    <!-- prepare用于定义前的准备工作  -->
    <target name="prepare">
        <tstamp />
    </target>
    
    <!-- resources用于实现对资源文件和配置文件的部署  -->
    <target name="resources">
        <copy todir="${dir.classes}" includeEmptyDirs="no">
            <fileset dir="${dir.src}">

                   <patternset>

                       <include name="**/*.conf" />
                    <include name="**/*.properties" />
                    <include name="**/*.xml" />
                    <include name="**/*_zh_CN.properties" />
                </patternset>
            </fileset>
        </copy>
        <native2ascii src="${dir.src}" dest="${dir.classes}" includes="**/*_zh_CN.properties" encoding="gb2312" />
        
    </target>
    
    <!-- compile编译所有的Java文件 -->
    <target name="compile" depends="prepare,resources">
        <javac srcdir="${dir.src}" destdir="${dir.classes}">
            <classpath refid="compile.classpath" />
        </javac>
    </target>
    
    <!-- clean主要用于清除已经编译的目标文件和已经部署的文件 -->
    <target name="clean" description="Prepare for clean build">
        <delete dir="${dir.classes}" />
        <delete dir="${distpath.project}/${project.distname}" />
        <delete dir="${distpath.project}/${project.distname}.war" />
        <mkdir dir="${dir.classes}" />
    </target>
    
    <!-- project重新编译所有的JAVA文件  -->
    <target name="project" depends="clean,prepare,compile" />
    
    <!-- dist用于完成项目的部署工作  -->
    <target name="dist" description="Create binary distribution">
        <war basedir="WebContent" warfile="${distpath.project}/${project.distname}.war" webxml="${dir.webinf}/web.xml">
            <exclude name="${distpath.project}/${project.distname}.war" />
        </war>
    </target>
    
    <!-- all用于重新编译和部署整个应用 -->
    <target name="all" depends="project,dist" />
</project>

以上配置编译和部署通过。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值