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

本文详细介绍了如何使用ANT构建Java项目,包括引入依赖、编写构建脚本、实现自动打包、创建可双击运行的bat文件以及备份jar文件等步骤。通过此流程,可以高效地管理Java项目的构建过程,简化开发流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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. <?xmlversion="1.0"encoding="UTF-8"?>
  2. <projectname="ant_package_jar_test"default="usage"basedir=".">
  3. <!--变量文件-->
  4. <propertyfile="build.properties"description="properties"/>
  5. <tstamp>
  6. <formatproperty="DSTAMP"pattern="yyyyMMddHHmmss"/>
  7. </tstamp>
  8. <!--指明你所用到的jar包、class文件存放的位置-->
  9. <pathid="master-classpath"description="jar,classpath">
  10. <filesetfile="${lib.dir}/*.jar"/>
  11. <pathelementpath="${classes.dir}"/>
  12. </path>
  13. <!--初始化-->
  14. <targetname="init"description="init">
  15. <echomessage="beforeinit..."/>
  16. <mkdirdir="${classes.dir}"/>
  17. <mkdirdir="${dist.dir}"/>
  18. <mkdirdir="${doc.dir}"/>
  19. <mkdirdir="${backup.dir}"/>
  20. <echomessage="afterinit..."/>
  21. </target>
  22. <!--编译所有类文件-->
  23. <targetname="compile"description="compile"depends="init">
  24. <echomessage="beforecompile..."/>
  25. <javacsrcdir="${src.dir}"destdir="${classes.dir}"target="${jdk.version}"debug="on">
  26. <classpathrefid="master-classpath"/>
  27. </javac>
  28. <copytodir="${classes.dir}">
  29. <filesetdir="${config.dir}"includes="**/*"/>
  30. <filesetdir="${lib.dir}"includes="*.jar"/>
  31. </copy>
  32. <echomessage="aftercompile..."/>
  33. </target>
  34. <!--打成jar,war包-->
  35. <targetname="package"description="package"depends="compile">
  36. <echomessage="beforepackage..."/>
  37. <echomessage="startpackage${ant.project.name}.jar..."/>
  38. <!--把上面定义的path转换成property,path中jar包的路径用空格分开-->
  39. <pathconvertproperty="mf.classpath"pathsep=""description="">
  40. <path>
  41. <filesetfile="${lib.dir}/*.jar"/>
  42. </path>
  43. <mapper>
  44. <chainedmapper>
  45. <!--移除绝对路径-->
  46. <flattenmapper/>
  47. <!--加上lib前缀-->
  48. <globmapperfrom="*"to="./*"/>
  49. </chainedmapper>
  50. </mapper>
  51. </pathconvert>
  52. <jardestfile="${dist.dir}/${ant.project.name}.jar"basedir="${classes.dir}">
  53. <!--运行的主函数-->
  54. <manifest>
  55. <attributename="Built-By"value="${user.name}"/>
  56. <attributename="Main-Class"value="com.joe.test.Test"/>
  57. <attributename="Class-Path"value="${mf.classpath}"/>
  58. </manifest>
  59. <!--不包含测试类
  60. <excludename="**/*Test.*"/>
  61. <excludename="**/Test*.*"/>
  62. -->
  63. </jar>
  64. <echomessage="endpackage${ant.project.name}.jar"/>
  65. <echomessage="afterpackage..."/>
  66. </target>
  67. <!--备份jar-->
  68. <targetname="backup"description="backup"depends="package">
  69. <echomessage="beforebackup..."/>
  70. <zipdestfile="${backup.dir}/${ant.project.name}${DSTAMP}.zip">
  71. <filesetdir="${dist.dir}"includes="${ant.project.name}.jar"/>
  72. </zip>
  73. <echomessage="afterbackup..."/>
  74. </target>
  75. <!--输出api文档-->
  76. <targetname="doc"depends="compile"description="doc">
  77. <javadocdestdir="${doc.dir}"author="true"version="true"use="true"windowtitle="YourProjectAPI">
  78. <packagesetdir="${src.dir}"defaultexcludes="yes">
  79. <!--所包含的包,这里需要根据实际进行改变-->
  80. <includename="com/hybrid/position/**"/>
  81. <includename="com/hybrid/study/**"/>
  82. </packageset>
  83. <doctitle><![CDATA[<h1>YourProjectdescription</h1>]]></doctitle>
  84. <bottom><![CDATA[<i>YourcompannyName,Inc,AllRightsReserved.</i>]]></bottom>
  85. <tagname="todo"scope="all"description="Todo:"/>
  86. </javadoc>
  87. </target>
  88. <!--清空所有输出目录-->
  89. <targetname="clean"description="clean"depends="deploy">
  90. <echomessage="beforeclean..."/>
  91. <deletedir="${classes.dir}"/>
  92. <deletedir="${dist.dir}"/>
  93. <deletedir="${doc.dir}"/>
  94. <echomessage="afterclean..."/>
  95. </target>
  96. <!--默认-->
  97. <targetname="usage"description="默认"depends="clean">
  98. <echomessage="buildfinished..."/>
  99. </target>
  100. </project>


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

如果不希望看到执行后的窗体,把pause删掉就好。
项目在附件里面
希望对大家有帮助,如有问题请留言,大家共同提高!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值