Ant入门: Hello World with Apache Ant

  笔者因项目需要进行java程序打包,之前一直使用的最多的打包工具要数fat-jar了。此工具将所有引用的jar包以及源码生成的class一起打到一个包里面,运行程序的时候直接运行命令:java –jar jarname.jar。

  fat-jar看似很方便。但是在实际运用中存在2大缺点:

    1.将所有jar包都整合到一起,导致jar包太大,一般最小几百k,最大十几MB都有,上传至服务器时,耗时较长。

    2.每次更新jar包,引用的包又要重新打进去。其实引用的包根本就没做更改,特别是引用的jar包较多时,打包时间较长。

     通过查找网络资料,发现Ant是个不错的打包工具,特在此小试牛刀。下面以一个简单程序Hello World开始,具体操作过程记录如下,用以备忘。

     HelloWorld.Java代码如下:

package com.iie.test.ant;

public class HelloWorld {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("Hello World");
	}

}

  build.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<project name ="HelloWorld" default="jar" basedir=".">
	
    <target name="clean">
        <delete dir="${basedir}/build"/>
    </target>
	
    <target name="compile" depends ="clean">
        <mkdir dir ="${basedir}/build/classes"/>
        <javac includeantruntime="false" srcdir ="${basedir}/src" destdir ="${basedir}/build/classes"/>
    </target>
	
	<target name="run"  depends ="compile">
	     <java classname ="com.iie.test.ant.HelloWorld">   
	     	<classpath> 
	     		<pathelement path="${basedir}/build/classes"/>
	     	</classpath>
	     </java>
	</target>
	
	<target name="jar" depends="run">
		<mkdir dir="build/jar"/>
		<jar destfile="build/jar/HelloWorld.jar" basedir="${basedir}/build/classes">       
			<manifest>    	
				<attribute name="Main-class" value="com.iie.test.ant.HelloWorld"/>   
			</manifest>  
		</jar>
	</target >
	
</project>

  运行结果如下:

          (1)console下出现:[java] Hello World

     (2)build\jar文件夹下生成HelloWorld.jar,cmd下运行java -jar HelloWorld.jar即可

 

  

 

posted on 2014-08-15 15:35  Gingber  阅读(1203)  评论(1编辑  收藏  举报

导航