ant配置文件中
<!-- jar进程. -->
<!--
1.将 ${build}/classes 下面的所有文件打包到 ${dist}/lib/app.jar 中
-->
<jar destfile="${dist}/lib/app.jar" basedir="${build}/classes" />
<!--
2. ${build}/classes 下面的所有文件打包到 ${dist}/lib/app.jar 中
-->
<jar destfile="${dist}/lib/app.jar"
basedir="${build}/classes"
includes="mypackage/test/**"
excludes="**/Test.class" />
<!--
3. 将 ${build}/classes 下面的所有文件打包到${dist}/lib/app.jar中,但是包括 mypackage/test/ 所有文件不包括所有的 Test.class.
manifest 属性指定自己的 META-INF/MANIFEST.MF 文件,而不是由系统生成
-->
<jar destfile="${dist}/lib/app.jar"
basedir="${build}/classes"
includes="mypackage/test/**"
excludes="**/Test.class"
manifest="my.mf" />
jar进程
打包jar文件
war进程
对jar进程的扩展.
文件目录如下:
thirdparty
+----libs
--------jdbc1.jar
--------jdbc2.jar
build
+----main
+--------com.myco.myapp
------------Servlet.class
src
+----metadata
--------myapp.xml
----html
+--------myapp
+------------index.html
----jsp
+--------myapp
------------front.jsp
----graphics
+--------images
+------------gifs
+----------------small
--------------------logo.gif
+------------gifs
+----------------large
--------------------logo.gif
<war destfile="myapp.war" webxml="src/metadata/myapp.xml">
<fileset dir="src/html/myapp"/>
<fileset dir="src/jsp/myapp"/>
<lib dir="thirdparty/libs">
<exclude name="jdbc1.jar"/>
</lib>
<classes dir="build/main"/>
<zipfileset dir="src/graphics/images/gifs" prefix="images"/>
</war>
<!--
完成后的结果:
WEB-INF/web.xml
WEB-INF/lib/jdbc2.jar
WEB-INF/classes/com/myco/myapp/Servlet.class
META-INF/MANIFEST.MF
index.html
front.jsp
images/small/logo.gif
images/large/logo.gif
-->
模板样式
<?xml version="1.0" encoding="UTF-8"?>
<project name="HelloWorld" default="run" basedir="."><!-- 项目名为HelloWorld,default代表默认要做的事情,.代表当前目录-->
<property name="src" value="src"/><!-- 定义src变量 -->
<property name="dest" value="classes"/> <!-- 定义dest变量-->
<property name="hello_jar" value="hello.jar"/><!-- 定义hello_jar变量-->
<target name="init"> <!-- 定义一个目标,这里表示初始化,mkdir表示创建一个目录,${dest}表示取变量dest的值 -->
<mkdir dir="${dest}"/>
</target>
!-- 编译目标,depends是它依赖的target,在init执行过才执行compile-->
<target name="complie" depends="init">
<!-- 运行javac命令 srcdir源目录 destdir目标目录-->
<javac srcdir="${src}" destdir="${dest}"/>
</target>
<!-- 构建目标,依赖compile-->
<target name="build" depends="complie">
<!-- 运行jar命令 jarfile为jar文件 basedir为classes-->
<jar jarfile="${hello_jar}" basedir="${dest}"/>
</target>
<!--运行-->
<target name="run" depends="build">
<java classname="src.src.HelloWorld" classpath="${hello_jar}"/>
</target>
<!-- 删除生成的文件-->
<target name="clean">
<delete dir="${dest}"/>
<delete file="${hello_jar}"/>
</target>
<!--再次运行-->
<target name="rerun" depends="clean,run">
<ant target="clean"/>
<ant target="run"/>
</target>
</project>