<?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>