ant文件簡要介紹

最近用ant的命令比較多,所花了些時間試着自己寫build文件,其中牽涉的元素我就不多說,因爲相關的介紹google一下很多,我這裏把xml文件貼出來方便大家作爲模板使用,我的工程文件是這樣的有個src目錄,其下面放了相關的java文件,另外一個lib目錄,放置了用戶自定的jar包等,在此做了個打包HelloWorld程序的ant 文件,如下程序片段:

import java.io.IOException;
/**
*HelloWorld
*/
public class HelloWorld{

public static void main(String[] args)throws IOException{
System.out.println("HelloWorld!");
}
}

[b]針對這個java類進行打包的ant file如下:[/b]

<?xml version="1.0" encoding="UTF-8"?>
<project default="build" basedir=".">
<property name="appname" value="HelloWorld" />
<property name="base" value="." />
<property name="src.dir" value="${base}\src" />
<property name="lib.dir" value="${base}\lib" />
<property name="dist.dir" value="${base}\dist" />
<property name="classes.dir" value="${base}\classes" />
<!--初始化基本信息如路徑等-->
<target name="init">
<mkdir dir="${base}\classes"/>
<mkdir dir="${base}\dist"/>
<echo message="create folder successful"/>
</target>
<!--將src.dir下的所有java文件進行編譯-->
<target name="build" depends="init">
<javac srcdir="${src.dir}" destdir="${classes.dir}">
<include name="**/*.java" />
</javac>
<!--將${classes}目錄及${src.dir}目錄下的文件都打包成test.jar其中所有Test.class除外-->
<jar destfile="${dist.dir}/test.jar">
<fileset dir="${classes.dir}" excludes="**/Test.class" />
<!-- 指定Main-class-->
<manifest>
<attribute name="Main-class" value="HelloWorld"/>
</manifest>
</jar>
<!--將lib.dir下的所有class及jar文件copy到dist.dir目錄下-->
<copy todir="${dist.dir}" overwrite="true" flatten="true">
<fileset dir="${lib.dir}">
<include name="*.class" />
<include name="*.jar" />
</fileset>
</copy>
</target>
<!--運行一個類,類名爲HelloWorld-->
<target name="run" depends="build">
<java classname="HelloWorld">
<classpath>
<pathelement path="${classes.dir}"/>
</classpath>
</java>
</target>
<!--清除classes.dir及dist.dir下的所有內容-->
<target name="clean" depends="init">
<delete includeEmptyDirs="false">
<fileset dir="${classes.dir}" />
<fileset dir="${dist.dir}" />
</delete>
</target>
</project>

[b]運行結果如下:[/b]
E:\anttest>ant
Buildfile: build.xml

init:
[mkdir] Created dir: E:\anttest\classes
[mkdir] Created dir: E:\anttest\dist
[echo] create folder successful

build:
[javac] Compiling 1 source file to E:\anttest\classes
[jar] Building jar: E:\anttest\dist\test.jar
[copy] Copying 2 files to E:\anttest\dist

BUILD SUCCESSFUL
Total time: 1 second
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章