该用户从未签到
|
第一步安装ant 1,什么是ant; |3 c4 `5 h9 ~4 t" d+ f# o
ant是构建工具+ K. ~3 f. u" C5 ? y# {' a1 S: K) c2 q
2,什么是构建; m/ p: j! n/ X& Y3 ^
概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个' Y! @7 Y7 D8 C: X% p) Q
3,ant的好处% h: I# z* U3 ~+ i; t
跨平台 --因为ant是使用java实现的,所以它跨平台
# ^7 Y9 A* y$ c& p% k3 Q使用简单--与ant的兄弟make比起来7 c3 n# Y4 y& {0 q
语法清晰--同样是和make相比& v. r0 e" \* p$ j6 w9 g
功能强大--ant能做的事情很多,可能你用了很久,你仍然不知道它能有多少功能。当你自己开发一些ant插件的时候,你会发现它更多的功能。4 O" b2 H, ^3 U- _+ E+ r
一,构建ant环境
7 r# m! a* G* x: W& A要使用ant首先要构建一个ant环境,步骤很简单:1 ~4 `8 q4 x/ G3 `5 z( _+ |, _
1),安装jdk,设置JAVA_HOME ,PATH ,CLASS_PATH(这些应该是看这篇文章的人应该知道的)
0 m4 b# \! y( m g5 D' i& r. }2),下载ant 地址http://www.apache.org/ 找一个你喜欢的版本,或者干脆最新的版本
0 X9 `3 @' P T' Y3),解压ant 你得到的是一个压缩包,解压缩它,并把它放在一个尽量简单的目录,例如D:\ant-1.6虽然你不一 定要这么做,但这么做是有好处的。
# \9 ~+ @* z' f% i8 a6 I. A" C6 Mant的配法: / b! r- S$ k1 l" K
1。解压ant的包到本地目录。 ! E5 \/ S' z J4 Q( \- q
2。在环境变量中设置ANT_HOME,值为你的安装目录。 : h% f; y5 e O* g: T. X( X
3。在环境变量中设置JAVA_HOME,值为你的jdk安装目录。
1 O: W1 c8 X# M5 p' C4。把ANT_HOME/bin加到你系统的path目录中去。
& w1 F0 Q& {: ?% RSET JAVA_PATH = C:\Program Files(x86)\Java\jdk1.6.0_21; JDK路径
0 o4 a ^9 }0 o9 jSET ANT_HOME=D:\jakarta-ant-1.5.1 //注意是Ant的安装目录,不是bin子目录
, U2 U- A' ^! L% ^SET PATH=%ANT_HOME%\bin;
( G" U6 G' y8 y. d4 m$ a8 M# r5),测试一下你的设置,开始-->运行-->cmd进入命令行-->键入 ant 回车,如果看到6 J% j6 f3 I" u5 | U
Buildfile: build.xml does not exist!
, G5 s7 v3 U& }" |Build failed: ]9 m2 x3 h8 k; I
那么恭喜你你已经完成ant的设置 第二步编写 build.xml - <?xml version="1.0" encoding="utf-8"?>
: p; J- p# g2 o$ h; @
2 M. E2 Z, `( h6 i% Y0 `- <project name="javaWeb" basedir="." default="all">
) c6 s$ E2 m) R0 X# L( K- f6 [ - <path id="classpath">
" a( }6 L- J/ G* P! k1 W! z - <fileset dir="./WebRoot/WEB-INF/lib">9 J8 d8 O! z6 p8 ~. R+ W3 x4 l" P2 @
- <include name="**/*.jar" />
- ^7 r' C' X. H B' n# h - </fileset>4 y9 Z# R1 _1 S' _* K7 R
- </path>
! D- G1 |. N6 X6 o. Z
[, M7 M, @0 P" y3 r. P- <target name="prepare" description="prepare ">0 v6 _3 N5 t9 F8 @2 [
- <mkdir dir="dist/tmp" />
, l* J* b" C5 _# r - <mkdir dir="dist/module" />$ l1 b" L8 I7 s D# [( e1 L& K
- <mkdir dir="dist/war" />
T w& M9 q1 S1 M! V& H1 S4 |9 w - </target>
( b( K4 E0 N8 T$ X - 6 n! _, e2 W# B9 M; D) P
- <target name="compile" >
: w" A/ G" w8 |: }$ k% r - <mkdir dir="dist/tmp"/> h( C i- w- q2 n/ [
- <javac 4 s$ p. V8 W( ^: K3 t$ P! y
- debug="true" ! P: ~$ F3 s. N0 C2 O0 F
- fork="yes" destdir="dist/tmp" encoding="UTF-8" classpathref="classpath">
5 l4 z4 w; i5 t - <src path="src"></src>
7 E Y1 Z& m) J; Q7 t. [- H+ A4 L - </javac>
/ V+ F6 {, f u7 E& z - + s- |( k$ ]) L( C% b* \7 o! m, H
- <copy todir="dist/tmp">
% c) y7 o1 Z1 Y* V+ { - <fileset dir="src" includes="**/*.xml" excludes="**/*.java"></fileset>
9 b3 |/ }% c* d1 s, R - </copy>' e& F! P) V. x
-
& i! o9 G9 \* W# H - </target>4 y/ M. V8 `$ N3 g4 N8 s2 u! M+ w% X9 r
- ; S/ D$ S- L! W- X
- <target name="jar-web" description="web jar">5 l( |, ]% X& T& [7 L" b
- <delete dir="dist/tmp" />
# O( P8 C6 \$ M$ V6 A. t - <mkdir dir="dist/tmp" />
- s3 X! v1 w; h: q- c; [ - <delete file="dist/war/javaWeb-web.jar" />
9 a" e$ Y& n& U8 j% Q - <javac srcdir="src/java" includes="com/acts/web/**/*.*,com/acts/web/**/**/*.*" debug="true" fork="yes" destdir="dist/tmp" classpathref="classpath" encoding="UTF-8" includeantruntime="on"/>
6 t; S$ p9 S7 O* v1 a" x0 ?) z - <jar destfile="dist/war/javaWeb-web.jar" update="true">3 ~/ G5 K1 |+ o8 J: }
- <fileset dir="dist/tmp" includes="**/*.*" />
; v+ w) x: C; [; n( B - </jar>
, @: e% t6 w: Y% n4 | - </target>, O6 z; B+ q' [8 i
-
0 {" ^0 s( Y9 L! R! b ]! D - <target name="war" description="war javaWeb" depends="jar-web">
. R* `6 V# H* M5 p - <delete dir="dist/tmp" />( `3 U* ]. e& g5 L3 q8 ]
- <mkdir dir="dist/tmp" />6 _3 h# P9 f4 l1 {
- <delete file="dist/war/javaWeb.war" />
3 j& A, ~; r. z: m" b \ - <copy todir="WebRoot/WEB-INF/lib">8 P( O' v4 n+ v. R1 t- d
- <fileset dir="dist/war"/>
# F6 A* q; J; n5 ^' W - </copy>
+ o: k& |1 q l* R1 U2 B4 K: @, {5 C - <war warfile="dist/war/javaWeb.war"
4 P' s" w: H3 j' o- O& U; N- Y. _6 f- U - includes="**/*.*"3 O; i* j& m# W
- excludes="WEB-INF/classes/**/*.class"
/ t7 P$ j& c( N) h3 {1 v: N2 C# ]& W3 ` - webxml="WebRoot/WEB-INF/web.xml" # B9 t: K) F8 s, Y& C
- update="true" 1 `) m7 T! K- J. }' A. q0 h: \
- basedir="WebRoot"/>
8 D$ v" F' T0 W1 \6 C - <delete file="WebRoot/WEB-INF/lib/javaWeb-web.jar" /> * m4 s( L) r6 v; q/ u
- </target>4 Y; q1 N8 @9 s, {) T; q, o: w
-
* g- ?8 E% H3 |0 A/ X5 M; c
, q8 X2 Q0 S6 ?( R- <target name="all" depends="prepare, jar-web, war">
" W0 l, Z" _! G9 \ ]" N" p' V - </target>/ H# r9 R% m0 ?
! D% t' {' U( y+ D2 v2 S- </project>, T9 f+ C [8 M& l$ Z9 G
复制代码
: H( {9 T: k3 J+ t- Z9 a) F
' }) w% p% }6 m |
|