使用Ant将java工程打包成bat可执行性文件

在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的脚步语言)

 

@echo off
REM
REM Copyright (c) 2009 BES Tech Service(HK) Co., Ltd.  All rights reserved.
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表示项目的描述	
-->
<project name="antBatTest" default="all" basedir=".">
	<!-- 加载属性文件,所有的自定义属性都包含在build.properties里面-->
	<property file="./build.properties" />

	<!-- 依次执行clean,compile,assembly,publish 任务-->
	<target name="all" depends="clean,init,compile,assembly,publish">
	</target>
	<!-- 初始化,生成主要的目录-->
	<target name="init">
		<mkdir dir="${build}" />
		<mkdir dir="${build.test.classes}" />
		<path id="platform.classpath">
			<fileset dir="${lib}">
			</fileset>
		</path>
	</target>
	<!-- 编译src下的java文件-->
	<target name="compile">
		<javac destdir="${build.test.classes}" source="1.5" failοnerrοr="true" encoding="UTF-8">
			<src path="${main.src}" />
			<classpath refid="platform.classpath" />
		</javac>

	</target>
	<!--拷贝非java文件到classes下-->
	<target name="assembly">
		<copy todir="${build.test.classes}">
			<fileset dir="${main.src}">
				<exclude name="**/*.java" />
			</fileset>
		</copy>
	</target>
	<!--发布-->
	<target name="publish">
		<mkdir dir="${build}" />
		<mkdir dir="${build.test}" />
		<mkdir dir="${build.test.classes}" />
		<!--写入bat的脚步语句 -->
		<copy file="${test.bat.template}" tofile="${test.bat}" overwrite="true" />
		<!-- 拷贝lib下所有的jar包到${build.test}目录下 -->
		<copy todir="${build.test}" overwrite="true">
					<fileset dir="${lib}">
						<include name="**/*"/>
					</fileset>
				</copy>
	</target>
  <!--清除build下的文件-->
	<target name="clean">
		<delete dir="${build}" />
	</target>

</project>

 附件中提供了 一个eclipse工程,直接导入就可以测试了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值