ant打jar包以及制作成bat文件双击运行
1.首先建立一个java项目,导入log4j-1.2.15.jar包
2.然后在项目里面建立Test.java类,如下:
package com.joe.test;import java.util.logging.Logger;/** * @author:joe * @createtime: 2011-7-29 下午08:07:48 * @version:1.0 * @filename:Test.java * @description:ant打jar包以及制作成bat文件双击运行测试类 */public class Test {public static void main(String[] args) {Logger logger = Logger.getLogger(Test.class.toString());logger.info("success...");}}
src.dir=srcdist.dir=distlib.dir=libdoc.dir=docclasses.dir=classesjdk.version=1.6backup.dir=backupconfig.dir=config
<?xml version="1.0" encoding="UTF-8"?><project name="ant_package_jar_test" default="usage" basedir="."><!-- 变量文件 --><property file="build.properties" description="properties" /><tstamp><format property="DSTAMP" pattern="yyyyMMddHHmmss"/></tstamp><!-- 指明你所用到的jar包、class 文件存放的位置 --><path id="master-classpath" description="jar,classpath"><fileset file="${lib.dir}/*.jar"/><pathelement path="${classes.dir}" /></path><!-- 初始化 --><target name="init" description="init"><echo message="before init..." /><mkdir dir="${classes.dir}" /><mkdir dir="${dist.dir}" /><mkdir dir="${doc.dir}" /><mkdir dir="${backup.dir}" /><echo message="after init..." /></target><!-- 编译所有类文件 --><target name="compile" description="compile" depends="init"><echo message="before compile..." /><javac srcdir="${src.dir}" destdir="${classes.dir}" target="${jdk.version}" debug="on" ><classpath refid="master-classpath" /></javac><copy todir="${classes.dir}"><fileset dir="${config.dir}" includes="**/*" /><fileset dir="${lib.dir}" includes="*.jar" /></copy><echo message="after compile..." /></target><!--打成jar,war包 --><target name="package" description="package" depends="compile" ><echo message="before package..."/><echo message="start package ${ant.project.name}.jar..." /><!-- 把上面定义的path转换成property,path中jar包的路径用空格分开 --><pathconvert property="mf.classpath" pathsep=" " description=""><path><fileset file="${lib.dir}/*.jar"/></path><mapper><chainedmapper> <!-- 移除绝对路径 --> <flattenmapper /> <!-- 加上lib前缀 --> <globmapper from="*" to="./*" /> </chainedmapper></mapper></pathconvert><jar destfile="${dist.dir}/${ant.project.name}.jar" basedir="${classes.dir}"><!-- 运行的主函数 --><manifest><attribute name="Built-By" value="${user.name}"/><attribute name="Main-Class" value="com.joe.test.Test"/><attribute name="Class-Path" value="${mf.classpath}" /></manifest><!-- 不包含测试类 <exclude name="**/*Test.*" /><exclude name="**/Test*.*" />--></jar><echo message="end package ${ant.project.name}.jar" /><echo message="after package..."/></target><!-- 备份jar --><target name="backup" description="backup" depends="package"><echo message="before backup..."/><zip destfile="${backup.dir}/${ant.project.name}${DSTAMP}.zip"><fileset dir="${dist.dir}" includes="${ant.project.name}.jar" /></zip><echo message="after backup..."/></target><!-- 输出api文档 --><target name="doc" depends="compile" description="doc"><javadoc destdir="${doc.dir}" author="true" version="true" use="true" windowtitle="Your Project API"><packageset dir="${src.dir}" defaultexcludes="yes"><!--所包含的包,这里需要根据实际进行改变 --><include name="com/hybrid/position/**" /><include name="com/hybrid/study/**" /></packageset><doctitle><![CDATA[<h1>Your Project description</h1>]]></doctitle><bottom><![CDATA[<i>Your companny Name,Inc,All Rights Reserved.</i>]]></bottom><tag name="todo" scope="all" description="To do:" /></javadoc></target><!-- 清空所有输出目录 --><target name="clean" description="clean" depends="deploy"><echo message="before clean..." /><delete dir="${classes.dir}" /><delete dir="${dist.dir}" /><delete dir="${doc.dir}" /><echo message="after clean..." /></target><!-- 默认 --><target name="usage" description="默认" depends="clean"><echo message="build finished..."/></target></project>
@echo offecho 开始执行程序...java -jar ant_package_jar_test.jar -Xms128M -Xmx256mecho 执行结束...pause