以下列出幾個在開發Java project常用的target的語法:
- 產生jar:
<target name="build-jar" depends="build-project">
<jar destfile="your_jar.jar" basedir="${basedir}/build/classes" compress="true"></jar>
</target> - 產生javadoc:
<target name="build-docs" depends="build-project" description="--> build-docs">
其中,classpathref可以填入由eclipse幫忙產生的路徑變數,通常是以你的proejct_name.classpath命名。
<javadoc author="true" source="1.5" classpathref="Your_project.classpath" sourcepath="${basedir}/src" destdir="${basedir}/doc" charset="UTF-8" version="true" packagenames="*">
<link href="http://java.sun.com/j2se/1.5.0/docs/api/"/>
</javadoc>
</target> - 產生war:war的建立比前兩個稍微複雜,原因在於third-party lib的import,ant的war task並沒有辦法以<path>來讀取project有用到的lib路徑。所以我們必須自行把這些lib先複製到某個資料夾之後,在用war task去建立war檔,建立完畢之後再刪除。
<target name="build-war" depends="build-project" description="--> description">
<copy todir="${basedir}/WebContent/WEB-INF/lib" flatten="true">
<path refid="Apache Commons Logging-1.1.0.userclasspath"/>
<path refid="Apache Log4J-1.2.13.userclasspath"/>
<path refid="Wicket-1.2.6.userclasspath"/>
</copy>
<war destfile="wicket.war" webxml="${basedir}/WebContent/WEB-INF/web.xml">
<lib dir="${basedir}/WebContent/WEB-INF/lib">
<classes dir="${basedir}/build/classes">
</war>
<delete>
<fileset dir="${basedir}/WebContent/WEB-INF/lib" includes="**/*">
</delete>
</target>
P.S: 以上語法內的task與attribute的用法與意義,請查閱Ant的說明文件
沒有留言:
張貼留言