在elicpse下,使用ant对java进行打包,使其生成一个XXX.bat的可执行性文件
核心代码如下:
build.properties(存放的是自定义的属性)
- build=build
- build.test=build/test
- build.test.classes=build/test/classes
- lib=lib
- main.src=src
- test.bat=build/test/test.bat
- test.bat.template=test.bat.template
test.bat.template(bat的脚步语言)
- @echooff
- REM
- REMCopyright(c)2009BESTechService(HK)Co.,Ltd.Allrightsreserved.
- REM
- setlocal
- java-cp"mysql-connector-java-5.0.8-bin.jar";"commons-pool-1.2.jar";"commons-dbutils-1.0.jar";"commons-dbcp-1.2.1.jar";"dom4j-1.6.1.jar";"log4j-1.2.15.jar";"commons-io-1.3.2.jar";"commons-lang-2.3.jar";"classes/"my.RunMain%*
- cmd/k
- endlocal
build.xml(具体的操作)
- <!--
- project中属性说明:
- (1)default表示默认的运行目标,这个属性是必须的。
- (2)basedir表示项目的基准目录。
- (3)name表示项目名。
- (4)description表示项目的描述
- -->
- <projectname="antBatTest"default="all"basedir=".">
- <!--加载属性文件,所有的自定义属性都包含在build.properties里面-->
- <propertyfile="./build.properties"/>
- <!--依次执行clean,compile,assembly,publish任务-->
- <targetname="all"depends="clean,init,compile,assembly,publish">
- </target>
- <!--初始化,生成主要的目录-->
- <targetname="init">
- <mkdirdir="${build}"/>
- <mkdirdir="${build.test.classes}"/>
- <pathid="platform.classpath">
- <filesetdir="${lib}">
- </fileset>
- </path>
- </target>
- <!--编译src下的java文件-->
- <targetname="compile">
- <javacdestdir="${build.test.classes}"source="1.5"failοnerrοr="true"encoding="UTF-8">
- <srcpath="${main.src}"/>
- <classpathrefid="platform.classpath"/>
- </javac>
- </target>
- <!--拷贝非java文件到classes下-->
- <targetname="assembly">
- <copytodir="${build.test.classes}">
- <filesetdir="${main.src}">
- <excludename="**/*.java"/>
- </fileset>
- </copy>
- </target>
- <!--发布-->
- <targetname="publish">
- <mkdirdir="${build}"/>
- <mkdirdir="${build.test}"/>
- <mkdirdir="${build.test.classes}"/>
- <!--写入bat的脚步语句-->
- <copyfile="${test.bat.template}"tofile="${test.bat}"overwrite="true"/>
- <!--拷贝lib下所有的jar包到${build.test}目录下-->
- <copytodir="${build.test}"overwrite="true">
- <filesetdir="${lib}">
- <includename="**/*"/>
- </fileset>
- </copy>
- </target>
- <!--清除build下的文件-->
- <targetname="clean">
- <deletedir="${build}"/>
- </target>
- </project>
附件中提供了 一个eclipse工程,直接导入就可以测试了