使用ant腳本前的準(zhǔn)備
1、下載一個(gè)ant安裝包。如:apache-ant-1.8.4-bin.zip。解壓到E盤(pán)。
2、配置環(huán)境變量。新增ANT_HOME:E:\apache-ant-1.8.4;PATH增加:E:\apache-ant-1.8.4\bin。
3、檢查ant是否配置完成。運(yùn)行->cmd輸入:ant -version。查看是否打印ant的版本號(hào)。
打包的實(shí)質(zhì)
生成jar包的實(shí)質(zhì)
1、編譯工程src文件夾下的java文件,生成相應(yīng)的class文件。
2、將所有的class文件集合成jar包。
生成war包的實(shí)質(zhì)
1、編譯工程src文件夾下的java文件,生成相應(yīng)的class文件。
2、將工程WebContent下的除了class文件和jar包以外的文件,全部拷貝到war包的對(duì)應(yīng)目錄下。
3、將編譯生成的class文件,全部拷貝到war包WEB-INF/classes文件夾下。
4、將工程lib中的jar包,全部拷貝到war包的WEB-INF/lib下。最后壓縮成war包。
一個(gè)生成war包的ant腳本代碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
<?xml version= "1.0" encoding= "UTF-8" ?> <!-- 定義一個(gè)工程,默認(rèn)任務(wù)為warFile。 --> <project name= "awp" default = "warFile" basedir= "." > <!-- 定義屬性,打成war包的名稱(chēng)。 --> <property name= "warFileName" value= "awp.war" ></property> <!-- 定義路徑,編譯java文件時(shí)用到的jar包。 --> <path id= "project.lib" > <fileset dir= "${basedir}/lib" > <include name= "**/*.jar" /> </fileset> </path> <!-- 定義任務(wù),清空任務(wù):清空原有的 class 文件,創(chuàng)建新的build路徑。 --> <target name= "clean" > <delete dir= "${basedir}/src/main/webapp/WEB-INF/classes" /> <mkdir dir= "${basedir}/src/main/webapp/WEB-INF/classes" /> </target> <!-- 定義任務(wù),編譯src文件夾中的java文件,編譯后的 class 文件放到創(chuàng)建的文件夾下。 --> <target name= "build" depends= "clean" > <javac srcdir= "${basedir}/src/main/java" destdir= "${basedir}/src/main/webapp/WEB-INF/classes" includeantruntime= "false" source= "1.6" target= "1.6" > <classpath refid= "project.lib" > </classpath> </javac> <!--復(fù)制src/main/java下非java文件到/src/main/webapp/WEB-INF/classes--> <copy todir= "${basedir}/src/main/webapp/WEB-INF/classes" > <fileset dir= "${basedir}/src/main/java" > <include name= "**/**.*" /> <exclude name= "**/*.java" /> </fileset> </copy> </target> <!-- 定義默認(rèn)任務(wù),將 class 文件集合成jar包。 --> <target name= "warFile" depends= "build" > <!--將lib文件夾下的jar打包到WEB-INF/lib下 --> <copy todir= "${basedir}/src/main/webapp/WEB-INF/lib" > <fileset dir= "${basedir}/lib" > </fileset> </copy> <!-- 建立新war包。 --> <war destfile= "${basedir}/${warFileName}" webxml= "${basedir}/src/main/webapp/WEB-INF/web.xml" > <!-- 將非jar和非 class 文件拷貝到war包的對(duì)應(yīng)路徑下。 --> <fileset dir= "${basedir}/src/main/webapp" > <include name= "**/**.*" /> <exclude name= "**/*.jar" /> <exclude name= "**/*.class" /> </fileset> <!-- 將jar和 class 文件拷貝到war包的對(duì)應(yīng)路徑下。 --> <lib dir= "${basedir}/src/main/webapp/WEB-INF/lib" /> <classes dir= "${basedir}/src/main/webapp/WEB-INF/classes" /> </war> </target> </project> |
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。