<?xml version="1.0" encoding="UTF-8"?>
<project name="sayhellousejarant" default="jar" basedir=".">
<!--定義源文件路徑,其中的value換成location也行,使用value的時候,${src}得到的就是src這個值,如果使用location,得到的是src這個目錄的絕對路徑-->
<property name="src" value="src" />
<property name="classes" value="target/classes" />
<property name="target" value="1.8"/>
<property name="source" value="1.8"/>
<property name="debuglevel" value="source,lines,vars"/>
<property name="lib.dir" value="../lib"/>
<property name="dir.src" value="${basedir}/src/main/java"/>
<property name="dir.res" value="${basedir}/src/main/resources"/>
<!--構造打包時Class-Path需要的路徑 -->
<!--創建編譯任務,名字是compile,depends指定了comiple任務依賴init任務-->
<target name="compile" description="comile target">
<mkdir dir="${classes}" />
<javac srcdir="${src}" destdir="${classes}" includeantruntime="true" source="${source}" target="${target}" encoding="UTF-8" debug="true" debuglevel="${debuglevel}">
<!-- classpath 定義編譯需要的claspath -->
<src path="src/main/java"/>
<src path="src/main/resources"/>
<classpath>
<fileset dir="../lib">
<include name="**.jar" />
</fileset>
</classpath>
</javac>
<copy includeemptydirs="false" todir="${classes}" preservelastmodified="true">
<fileset dir="${dir.src}" excludes="**/**.java"/>
<fileset dir="${dir.res}" excludes="**/**.java"/>
</copy>
</target>
<!-- 創建時間戳 -->
<tstamp />
<!--定義jarfilename,準備進行打包操作。其中ant.project.name是ant默認的一個變量,值爲最上面定義的project的name
${DSTAMP}爲日期,格式爲20111123;${TSTAMP}爲時間,格式爲2256,表示22點56分。-->
<property name="jarfilename" value="util.jar" />
<!--打包開始,名字爲jar,依賴任務爲compile-->
<target name="jar" depends="compile" description="make jar file">
<!--jar操作,jarfile指定jar包存放路徑,basedir爲編譯後的class的目錄-->
<jar jarfile="${jarfilename}" basedir="${classes}">
<!--爲jar包指定manifest,當然,如果jar包不需要打成runnable的形式,manifest可以不要
<mappedresources>
<fileset dir="../lib" />
<globmapper from="*" to="lib/*"/>
</mappedresources>
<fileset dir="../lib"/>-->
<zipfileset dir="../lib" includes="*.jar"/>
<manifest>
<!--指定main-class-->
<!-- <attribute name="Main-Class" value="com.rquest.riskmaster.util.Utility" /> -->
<attribute name="Main-Class" value="com.rquest.cn.AntTest" />
<attribute name="Class-Path" value="lib/**.jar"/>
</manifest>
</jar>
</target>
<!--運行一下jar包,試試看效果-->
<target name="run" depends="jar">
<!--其實這裏就是運行jar命令,注意fork一定加上,不然不起作用-->
<java jar="${jarfilename}" fork="true">
</java>
</target>
</project>