ant打jar包以及制作成bat文件双击运行

1.首先建立一个java项目,导入log4j-1.2.15.jar包 
2.然后在项目里面建立Test.java类,如下: 
Java代码   收藏代码
  1. package com.joe.test;  
  2.   
  3. import java.util.logging.Logger;  
  4.   
  5. /** 
  6.  * @author:         joe 
  7.  * @createtime:     2011-7-29 下午08:07:48 
  8.  * @version:        1.0 
  9.  * @filename:       Test.java 
  10.  * @description:    ant打jar包以及制作成bat文件双击运行测试类 
  11.  */  
  12. public class Test {  
  13.     public static void main(String[] args) {  
  14.         Logger logger = Logger.getLogger(Test.class.toString());  
  15.         logger.info("success...");  
  16.     }  
  17. }  

java这边就弄好了。 
3.写ant文件 

build.properties文件: 

Java代码   收藏代码
  1. src.dir=src  
  2. dist.dir=dist  
  3. lib.dir=lib  
  4. doc.dir=doc  
  5. classes.dir=classes  
  6. jdk.version=1.6  
  7. backup.dir=backup  
  8. config.dir=config  


build.xml文件 
Java代码   收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <project name="ant_package_jar_test" default="usage" basedir=".">  
  3.     <!-- 变量文件 -->  
  4.     <property file="build.properties" description="properties" />  
  5.     <tstamp>  
  6.         <format property="DSTAMP" pattern="yyyyMMddHHmmss"/>  
  7.     </tstamp>  
  8.     <!-- 指明你所用到的jar包、class 文件存放的位置 -->  
  9.     <path id="master-classpath" description="jar,classpath">  
  10.         <fileset file="${lib.dir}/*.jar"/>  
  11.         <pathelement path="${classes.dir}" />  
  12.     </path>  
  13.     <!-- 初始化 -->  
  14.     <target name="init" description="init">  
  15.         <echo message="before init..." />  
  16.         <mkdir dir="${classes.dir}" />  
  17.         <mkdir dir="${dist.dir}" />  
  18.         <mkdir dir="${doc.dir}" />  
  19.         <mkdir dir="${backup.dir}" />  
  20.         <echo message="after init..." />  
  21.     </target>  
  22.     <!-- 编译所有类文件 -->  
  23.     <target name="compile" description="compile" depends="init">  
  24.         <echo message="before compile..." />  
  25.         <javac srcdir="${src.dir}" destdir="${classes.dir}" target="${jdk.version}" debug="on" >  
  26.             <classpath refid="master-classpath" />  
  27.         </javac>  
  28.         <copy todir="${classes.dir}">  
  29.             <fileset dir="${config.dir}" includes="**/*" />  
  30.             <fileset dir="${lib.dir}" includes="*.jar" />  
  31.         </copy>  
  32.         <echo message="after compile..." />  
  33.     </target>  
  34.     <!--打成jar,war包 -->  
  35.     <target name="package" description="package" depends="compile" >  
  36.         <echo message="before package..."/>  
  37.         <echo message="start package ${ant.project.name}.jar..." />  
  38.         <!-- 把上面定义的path转换成property,path中jar包的路径用空格分开 -->  
  39.         <pathconvert property="mf.classpath" pathsep=" " description="">  
  40.             <path>  
  41.                 <fileset file="${lib.dir}/*.jar"/>  
  42.             </path>  
  43.             <mapper>  
  44.                 <chainedmapper>  
  45.                      <!-- 移除绝对路径 -->  
  46.                      <flattenmapper />  
  47.                      <!-- 加上lib前缀 -->  
  48.                      <globmapper from="*" to="./*" />  
  49.                 </chainedmapper>  
  50.             </mapper>  
  51.         </pathconvert>  
  52.         <jar destfile="${dist.dir}/${ant.project.name}.jar" basedir="${classes.dir}">  
  53.             <!-- 运行的主函数 -->  
  54.             <manifest>  
  55.                 <attribute name="Built-By" value="${user.name}"/>  
  56.                 <attribute name="Main-Class" value="com.joe.test.Test"/>  
  57.                 <attribute name="Class-Path" value="${mf.classpath}" />  
  58.             </manifest>  
  59.             <!-- 不包含测试类   
  60.             <exclude name="**/*Test.*" />  
  61.             <exclude name="**/Test*.*" />  
  62.             -->  
  63.         </jar>  
  64.         <echo message="end package ${ant.project.name}.jar" />  
  65.         <echo message="after package..."/>  
  66.     </target>  
  67.     <!-- 备份jar -->  
  68.     <target name="backup" description="backup" depends="package">  
  69.         <echo message="before backup..."/>  
  70.         <zip destfile="${backup.dir}/${ant.project.name}${DSTAMP}.zip">  
  71.             <fileset dir="${dist.dir}" includes="${ant.project.name}.jar" />  
  72.         </zip>  
  73.         <echo message="after backup..."/>  
  74.     </target>  
  75.     <!-- 输出api文档 -->  
  76.     <target name="doc" depends="compile" description="doc">  
  77.         <javadoc destdir="${doc.dir}" author="true" version="true" use="true" windowtitle="Your Project API">  
  78.             <packageset dir="${src.dir}" defaultexcludes="yes">  
  79.                 <!--所包含的包,这里需要根据实际进行改变 -->  
  80.                 <include name="com/hybrid/position/**" />  
  81.                 <include name="com/hybrid/study/**" />  
  82.             </packageset>  
  83.             <doctitle><![CDATA[<h1>Your Project description</h1>]]></doctitle>  
  84.             <bottom><![CDATA[<i>Your companny Name,Inc,All Rights Reserved.</i>]]></bottom>  
  85.             <tag name="todo" scope="all" description="To do:" />  
  86.         </javadoc>  
  87.     </target>  
  88.     <!-- 清空所有输出目录 -->  
  89.     <target name="clean" description="clean" depends="deploy">  
  90.         <echo message="before clean..." />  
  91.         <delete dir="${classes.dir}" />  
  92.         <delete dir="${dist.dir}" />  
  93.         <delete dir="${doc.dir}" />  
  94.         <echo message="after clean..." />  
  95.     </target>  
  96.     <!-- 默认 -->  
  97.     <target name="usage" description="默认" depends="clean">  
  98.         <echo message="build finished..."/>  
  99.     </target>  
  100. </project>  


4.运行build.xml文件,在backup下就有jar包得zip文件 
5.解压zip文件 
然后在该目录下建立test.bat文件,如下: 
Java代码   收藏代码
  1. @echo off  
  2. echo 开始执行程序...  
  3. java -jar ant_package_jar_test.jar -Xms128M -Xmx256m  
  4. echo 执行结束...  
  5. pause  

如果不希望看到执行后的窗体,把pause删掉就好。 
项目在附件里面 
希望对大家有帮助,如有问题请留言,大家共同提高!
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值