|
该用户从未签到
|
|
第一步安装ant 1,什么是ant
6 l/ m6 _! w6 H e9 J1 E: tant是构建工具
5 @4 B1 l) w6 x- _9 c4 Y9 S2,什么是构建; O% _+ p8 [0 h
概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个/ x' b% H& S0 b; U
3,ant的好处
+ Q5 u+ e" a: ~* i跨平台 --因为ant是使用java实现的,所以它跨平台
' ~- r6 |! s8 t& d) L$ i4 G* u' f使用简单--与ant的兄弟make比起来
$ R4 }$ z5 x, \# K' E; p1 h语法清晰--同样是和make相比
7 z5 ]2 f2 o. ~4 I% n* K+ u$ |功能强大--ant能做的事情很多,可能你用了很久,你仍然不知道它能有多少功能。当你自己开发一些ant插件的时候,你会发现它更多的功能。6 Y; x' M" c6 D* ]$ N$ r
一,构建ant环境
1 P/ ]2 \0 b7 L: V: z+ X要使用ant首先要构建一个ant环境,步骤很简单:; j( R, T( u: J7 e; w) d7 ]
1),安装jdk,设置JAVA_HOME ,PATH ,CLASS_PATH(这些应该是看这篇文章的人应该知道的)
( H. t* ?- y, G- ^# Z# c9 I1 Y" x2),下载ant 地址http://www.apache.org/ 找一个你喜欢的版本,或者干脆最新的版本
1 f+ w; \9 K% s0 e' H3),解压ant 你得到的是一个压缩包,解压缩它,并把它放在一个尽量简单的目录,例如D:\ant-1.6虽然你不一 定要这么做,但这么做是有好处的。
/ s. _! _& K" l2 M" Zant的配法:
$ o8 \+ A. i, n( }- x8 z7 q1。解压ant的包到本地目录。 ! a/ T* ^$ s2 I4 L
2。在环境变量中设置ANT_HOME,值为你的安装目录。
) M$ B; K6 Y# f4 G- P# m, q3。在环境变量中设置JAVA_HOME,值为你的jdk安装目录。 6 ?8 g! j# P' ^. w+ P& N
4。把ANT_HOME/bin加到你系统的path目录中去。
% v- v* r+ B/ T/ KSET JAVA_PATH = C:\Program Files(x86)\Java\jdk1.6.0_21; JDK路径
5 q* N# Z U. B5 PSET ANT_HOME=D:\jakarta-ant-1.5.1 //注意是Ant的安装目录,不是bin子目录
( l D8 D! n' S+ hSET PATH=%ANT_HOME%\bin;
0 E2 X5 n- F) j5 b c5),测试一下你的设置,开始-->运行-->cmd进入命令行-->键入 ant 回车,如果看到
" g8 B0 y5 a% ^Buildfile: build.xml does not exist!& U0 f! j: A/ N8 |5 H
Build failed8 y4 L& T0 M! |( K/ J* w, K
那么恭喜你你已经完成ant的设置 第二步编写 build.xml - <?xml version="1.0" encoding="utf-8"?>
. }7 i: l! `! z8 b& K/ E
3 S: F+ {1 b$ y+ t3 i+ c ]- <project name="javaWeb" basedir="." default="all">+ g% d7 e1 M5 {' ~. w
- <path id="classpath">4 B$ B1 j4 Z$ U p( `
- <fileset dir="./WebRoot/WEB-INF/lib">
/ h4 @/ \, X6 ]1 a9 w/ i - <include name="**/*.jar" />: ] o! Q& _$ X# h. W# H3 j4 s& f
- </fileset>
8 V/ y8 D% |) o - </path>
( F* ?6 a! y0 R" C5 A" h' D
! l7 h. g+ |/ U, e n- <target name="prepare" description="prepare ">
, i4 L9 M: `7 u* A - <mkdir dir="dist/tmp" />
0 g! r S# w) E - <mkdir dir="dist/module" />
# q! g2 k- a0 O% P - <mkdir dir="dist/war" /> ' N. m# p9 I$ n4 [( c) H( {3 K' B' {- u
- </target>
% A- q) O4 U( T. Y' @
1 ^/ p8 _0 W& N: T4 g5 }. t- <target name="compile" >
! f7 x" i2 v& V, H" C - <mkdir dir="dist/tmp"/>
6 \( x9 N* m; o. p( D - <javac
1 k6 d% h& D1 T6 Z - debug="true" 3 d5 h- v" e. b, ]
- fork="yes" destdir="dist/tmp" encoding="UTF-8" classpathref="classpath">: K1 Q! u% n5 S: T3 [
- <src path="src"></src>( F' V4 S: J5 x6 e/ a: O2 ?& H6 i! K
- </javac>
2 T; I9 \! H2 E" |& F* [$ w - 0 N; n4 ]0 e) P4 U2 b4 S
- <copy todir="dist/tmp">
o' G* d v$ {) ^) l5 ]( O4 V+ c8 }, q - <fileset dir="src" includes="**/*.xml" excludes="**/*.java"></fileset> 3 b- Z9 h I, v6 y% S
- </copy>
6 ]6 X9 P/ m' Y; F% W" { -
1 N' q- q' A( X" F% Y - </target>% p9 V! S6 S: `& ]. V; z. R1 Q3 }
- ! G' N% j. [1 R# }
- <target name="jar-web" description="web jar">3 t8 i$ ?' f2 v4 u- ?% | R, w
- <delete dir="dist/tmp" />
# k; S3 a7 O/ T$ l+ p# r. G. Y - <mkdir dir="dist/tmp" />
: Y0 q2 l G; N% Q - <delete file="dist/war/javaWeb-web.jar" />
" B, ]: E& k9 a# z: A4 D0 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"/>1 @+ s( [' v/ y: b4 a! ^
- <jar destfile="dist/war/javaWeb-web.jar" update="true">
' Y; [: G ?/ i3 Z: q0 s5 Z6 J - <fileset dir="dist/tmp" includes="**/*.*" /># Z2 Z- {! p8 s$ i8 m6 `" f( y8 w
- </jar>) I# ]) b& k% n0 X
- </target>
1 E m, b9 Z& ` - 7 Q- Y/ f5 x$ ?5 n4 X6 N
- <target name="war" description="war javaWeb" depends="jar-web">
6 l. u) F4 b1 A. G. [ - <delete dir="dist/tmp" />) H' P% I$ d6 v7 ~4 y" W& @6 S
- <mkdir dir="dist/tmp" />
, X4 o& h% A; a$ I - <delete file="dist/war/javaWeb.war" />+ Z2 J1 }- z% ^2 {# X5 p. v% K' c
- <copy todir="WebRoot/WEB-INF/lib">
* o- C% Q8 ~( F! A6 i- o& r- E' K7 p0 | - <fileset dir="dist/war"/>0 O+ P/ W& \7 C8 I' e6 V
- </copy>% R, e- M/ z. c! V+ F
- <war warfile="dist/war/javaWeb.war"
4 v M* M( R$ \" K- [ - includes="**/*.*"
0 U! B% @) d# \5 \8 M+ c5 H. o - excludes="WEB-INF/classes/**/*.class"
3 w% V2 U" J$ K3 J7 i# L6 l6 f4 B+ A - webxml="WebRoot/WEB-INF/web.xml" 3 x l8 n& M, N7 I
- update="true"
! w4 R* y% D- v( d3 L+ x, R: ]$ w - basedir="WebRoot"/>2 v9 J" g- k1 K3 l/ Y7 K
- <delete file="WebRoot/WEB-INF/lib/javaWeb-web.jar" />
0 n5 b& K7 X, f9 h! @ c1 y. n - </target>5 `; d8 {) Z3 |* Q+ e9 H8 d9 e" {
-
2 t/ I- z; S' m - - b# x% r) C# U2 W6 B
- <target name="all" depends="prepare, jar-web, war">0 W/ ^8 w! y+ s
- </target>( g% b6 e. p& N8 ]
6 F E" s3 c# ~- D3 @- </project>
3 K8 H% z* k1 `( G1 m
复制代码 ) N( w) S: x: A2 p7 R& ^4 E
# [! O9 J$ O7 i; Y5 K- H) p5 q
|
|