用Ant为Java桌面应用程序打包

有时我们想将Java桌面应用程序打包成一个可执行程序,Eclipse虽然可以做到这点,但是出于对技术的全面了解,下面说说Ant的部署项目的build.xml文件的常用配置

 

先配置Ant的操作系统环境变量,下载ant并解压,将ant文件夹下的bin文件夹路径复制,如:C:\apache-ant-1.8.1\bin,并添加到PATH环境变量中.

 

打开命令提示符窗口,进入项目文件夹下,本项目名为"ant-test",如图

 

 用Ant为Java桌面应用程序打包

 

"ant -f build.xml"命令的意思是,在此项目下通过build.xml配置文件来部署项目,你可输入"ant -help"查看帮助,若显示'...' 不是内部或外部命令,也不是可运行的程序或批处理文件,恭喜你环境变量配置错误。

 

下面是build.xml配置文件的简单介绍,详情可点击http://ant.apache.org/manual/tasklist.html来查看每个设置的含义.

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!-- name为项目名称,basedir为项目路径,当我们在命令提示符中进入要编译的项目文件夹时,就可通过"."来表示此路径 -->
<!-- default为项目默认执行的目标"target" -->
<project name="ant-test" basedir="." default="all">
	<!-- 下面是声明变量,以便下面的操作直接用变量名替代,用${变量名}来使用变量 -->
	<property name="bin" value="bin"/>
	<property name="src" value="src"/>
	<property name="classes" value="${bin}/classes"/>
	<property name="main-class" value="org.chase.main.Main"/><!-- 程序运行入口 -->
	<property name="jar-name" value="MyApp.jar"/>
	<!-- target为ant需执行的工作,名称可随便取, -->
	<!-- depends参数是制定执行当前target所要依赖的target,意思是在当前目标被执行前,你所依赖的目标也会被执行-->
	<target name="prepare">
		<tstamp/><!-- 时间戳timestamp -->
		<mkdir dir="${bin}"/><!-- 创建文件夹 -->
		<mkdir dir="${classes}"/>
	</target>
	<target name="compile" depends="prepare">
		<!-- 编译源代码 -->
		<javac srcdir="${src}" destdir="${classes}"/>
		<!-- 拷贝资源文件 -->
		<copy todir="${classes}" includeEmptyDirs="no">
			<!-- 设置所要拷贝的文件的通配符 -->
            <fileset dir="${src}" excludes="**/*.java,**/*.jar"/>
        </copy>
	</target>
	<target name="jar" depends="compile">
		<!-- jarfile指定生成的jar文件路径和名称,basedir是要打包的文件夹路径 -->
		<jar jarfile="${jar-name}" basedir="${classes}">
			<fileset dir="${src}"/>
			<!-- 生成的Jar文件的的 manifest配置文件-->
			<manifest>
		      <attribute name="Built-By" value="Chase"/>
		      <attribute name="gfdgfd" value="gfhgfhghew"/><!-- 貌似此属性可以随便设 -->
		      <attribute name="Main-Class" value="${main-class}"/><!-- 设置程序运行入口 -->
		    </manifest>
		</jar>
	</target>
	<!-- 对项目执行清除操作,此处只是删除生成的class文件 -->
	<target name="clean">
		<delete dir="${classes}"/>
	</target>
	<!-- 执行生成的Jar文件 -->
	<target name="run" depends="jar">
        <java jar="${jar-name}" fork="true"/>
    </target>
	<!-- 设置默认执行的目标"all" -->
	<target name="all" depends="clean,run"/>
</project>

 

注意,此配置文件不能出现中文注释,使用时务必删除注释或改为英文.

 

 

为了简化代码, "ant-test"项目只是显示一个背景图片的JFrame,如图:

 


用Ant为Java桌面应用程序打包

 

若JAR文件双击不能运行,则是文件打开方式有误,修改以jar为后缀名的文件的打开方式即可,如图:

 


用Ant为Java桌面应用程序打包
 

 将"用于执行操作的应用程序"下的文本框输入运行程序的javaw.exe文件路径和参数即可,如"C:\jdk1.6.0_10\bin\javaw.exe -jar "%1" %*"

 

 

 

jar下载

 

源码下载
 

你可能感兴趣的:(java,apache,eclipse,xml,ant)