锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 涓錛?span style="font: 7pt &apos">
]]><?xml version="1.0"?>
<project name="javaTest" default="jar" basedir=".">
<target name="clean">
<delete dir="build"/>
</target>
<path id="classpath">
<fileset dir="lib">
<include name="*.jar"/>
</fileset>
</path>
<target name="compile" depends="clean">
<mkdir dir="build/classes"/>
<javac srcdir="src" destdir="build/classes" encoding="UTF-8">
<classpath refid="classpath"/>
</javac>
</target>
<target name="run" depends="compile">
<java classname="Main">
<classpath>
<!--<classpath refid="classpath"/>-->
<pathelement path="build/classes"/>
</classpath>
</java>
</target>
<target name="copyConfig" depends="run">
<copy todir="build/classes">
<fileset dir="src">
<include name="*.png" />
</fileset>
</copy>
</target>
<target name="jar" depends="copyConfig">
<pathconvert property="mf.classpath" pathsep=" ">
<mapper>
<chainedmapper>
<flattenmapper />
<globmapper from="*" to="lib/*" />
</chainedmapper>
</mapper>
<path refid="classpath" />
</pathconvert>
<jar destfile="main.jar" basedir="build/classes">
<manifest>
<attribute name="Main-class" value="Main"/>
<attribute name="Class-Path" value="${mf.classpath} "/>
</manifest>
</jar>
</target>
</project>
]]>
涓嬭澆鍦板潃錛?/span>錛夛紝鍗沖彲浣跨敤銆?/span>
娣誨姞緋葷粺鐜鍙橀噺錛?/span>ANT_HOME錛岃鍙橀噺鎸囧悜Ant瑙e帇鍚庣殑鏍圭洰褰曪紝鍦ㄦ涓?/span>E:"apache-ant-1.7.0銆?/span>
瀹夎涓庨厤緗畬姣曞悗錛岃鑰呭彲浠ユ祴璇曚竴涓?/span>Ant鏄惁鍙敤錛岄鍏堣繘鍏?/span>Ant鐨?/span>bin鐩綍錛岃繍琛屽懡浠?/span>ant –version錛岃嫢瀹夎鍜岄厤緗垚鍔燂紝鍒欎細(xì)鏄劇ずAnt鐗堟湰淇℃伅錛屽涓嬪浘鎵紺猴細(xì)
鐢變笂鍙互鐪嬪嚭錛岃鑰呰繍琛?/span>Ant鐨勫懡浠ゆ椂錛岄渶瑕佽繘鍏ュ埌Ant鐨?/span>bin鐩綍錛屽浣曟墠鑳借緋葷粺鑷姩鎵懼埌Ant鍛紵榪欐椂闇瑕佽鑰呭湪緋葷粺鐜鍙橀噺path涓坊鍔?/span>Ant鐨?/span>bin鐩綍銆傝緗畬鎴愬悗錛屾垜浠氨鍙互鍦ㄤ換浣曠洰褰曪紙渚嬪C:"Documents and Settings"AmigoXie鐩綍錛夎緭鍏?/span>Ant鐨勫懡浠わ紝鏉ヨ幏寰楀懡浠ょ殑榪愯緇撴灉銆?/span>
浜岋紟 Ant鐨勫叧閿厓绱?/span>
Ant鐨勬瀯浠舵枃浠舵槸鍩轟簬XML緙栧啓鐨勶紝榛樿鍚嶇О涓?/span>build.xml銆備負(fù)浜嗘洿娓呮鐨勪簡瑙?/span>Ant錛屽湪榪欓噷緙栧啓涓涓畝鍗曠殑Ant紼嬪簭錛岀敤鏉ュ睍鐜?/span>Ant鐨勫姛鑳斤紝璁╄鑰呭Ant鏈変竴涓垵姝ョ殑浜嗚В銆傞鍏堝湪E鐩樹笅寤虹珛涓涓?/span>build.xml鏂囦歡錛屽唴瀹瑰涓嬶細(xì)
璇昏呭彲浠ヨ繘鍏?/span>E鐩橈紝鐒跺悗榪愯ant sayHelloWorld錛屽彲浠ョ湅鍒板涓嬬殑榪愯緇撴灉錛?br />
鍏朵腑sayHelloWorld涓洪渶瑕佹墽琛岀殑浠誨姟鐨勫悕縐般傚鏋滄枃浠跺悕涓嶄負(fù)build.xml錛岃屼負(fù)hello.xml鏃訛紝璇昏呰繍琛屽悓鏍風(fēng)殑鍛戒護(hù)鏃訛紝鍛戒護(hù)紿楀彛浼?xì)鍑虹幇濡備笅閿欒锛?xì)
Buildfile: build.xml does not exist!
Build failed
鐢變笂闈㈢殑鍛戒護(hù)鐨勯敊璇彁紺哄彲浠ョ湅鍑猴紝ant鍛戒護(hù)榛樿瀵繪壘build.xml鏂囦歡銆傝嫢鏂囦歡鍚嶄負(fù)hello.xml鏃訛紝璇昏呰繕闇瑕佸鍛戒護(hù)鍋氬皯璁告敼鍙橈紝鏀逛負(fù)錛?/span>ant –f hello.xml sayHelloWorld銆?/span>ant –buildfile hello.xml sayHelloWorld鎴?/span>ant –file hello.xml sayHelloWorld銆?/span>
鎺ヤ笅鏉ュ紑濮嬪悜璇昏呰瑙f湰鑺傜殑閲嶇偣錛?/span>Ant鐨勫叧閿厓绱?/span>project銆?/span>target銆?/span>property鍜?/span>task銆?/span>
1. project鍏冪礌
project鍏冪礌鏄?/span>Ant鏋勪歡鏂囦歡鐨勬牴鍏冪礌錛?/span>Ant鏋勪歡鏂囦歡鑷沖皯搴旇鍖呭惈涓涓?/span>project鍏冪礌錛屽惁鍒欎細(xì)鍙戠敓閿欒銆傚湪姣忎釜project鍏冪礌涓嬶紝鍙寘鍚涓?/span>target鍏冪礌銆傛帴涓嬫潵鍚戣鑰呭睍紺轟竴涓?/span>project鍏冪礌鐨勫悇灞炴с?/span>
1錛?/strong>name灞炴?/span>
鐢ㄤ簬鎸囧畾project鍏冪礌鐨勫悕縐般?/span>
2錛?/strong>default灞炴?/span>
鐢ㄤ簬鎸囧畾project榛樿鎵ц鏃舵墍鎵ц鐨?/span>target鐨勫悕縐般?/span>
3錛?/strong>basedir灞炴?/span>
鐢ㄤ簬鎸囧畾鍩鴻礬寰勭殑浣嶇疆銆傝灞炴ф病鏈夋寚瀹氭椂錛屼嬌鐢?/span>Ant鐨勬瀯浠舵枃浠剁殑闄勭洰褰曚綔涓哄熀鍑嗙洰褰曘?/span>
涓嬮潰緇欒鑰呬竴涓畝鍗曠殑渚嬪瓙鏉ュ睍紺?/span>project鐨勫悇鍏冪礌鐨勪嬌鐢ㄣ備慨鏀?/span>E:"build.xml鏂囦歡錛屼慨鏀瑰悗鐨勫唴瀹瑰涓嬶細(xì)
浠庝笂闈㈢殑鍐呭鎴戜滑鍙互鐪嬪嚭錛屽湪榪欓噷瀹氫箟浜?/span>default灞炴х殑鍊間負(fù)sayBaseDir錛屽嵆褰撹繍琛?/span>ant鍛戒護(hù)鏃訛紝鑻ユ湭鎸囨槑鎵ц鐨?/span>target鏃訛紝榛樿鎵ц鐨?/span>target鐨?/span>sayBaseDir錛屽悓鏃惰繕瀹氫箟浜?/span>basedir灞炴х殑鍊間負(fù)E:"apache-ant-1.7.0錛岃繘鍏?/span>E鐩樺悗榪愯ant鍛戒護(hù)錛屽彲鐪嬪埌榪愯鐨勭粨鏋滐紝濡備笅鍥炬墍紺猴細(xì)
鍥犱負(fù)璁懼畾浜?/span>basedir鐨勫鹼紝鎵浠?/span>basedir灞炴х殑鍊煎彉鎴愪簡璇昏呰緗殑鍊箋傝鑰呭彲浠ヨ嚜琛屽皢project鍏冪礌鐨?/span>basedir灞炴у幓鎺夊悗榪愯ant鐪嬬湅榪愯緇撴灉錛屾鏃?/span>basedir鐨勫煎彉鎴愪簡E:"錛屽嵆涓?/span>Ant鏋勪歡鏂囦歡鐨勭埗鐩綍銆?/span>
鏈夌殑鏃跺欙紝璇昏呭彲鑳芥湁榪欑闇姹傦紝鍗蟲兂寰楀埌鏌愪釜project涓嬫墍鏈夌殑target鐨勫悕縐幫紝璇昏呭彲浠ラ氳繃鍦?/span>ant鍛戒護(hù)閲屽姞涓?/span>-proecthelp鏉ヨ揪鍒拌鐩殑銆備緥濡傞拡瀵逛笂榪扮殑渚嬪瓙鎴戜滑榪愯ant –projecthelp錛岃緭鍑虹粨鏋滃涓嬶細(xì)
Buildfile: build.xml
Main targets:
Other targets:
sayBaseDir
Default target: sayBaseDir
2. target鍏冪礌
瀹冧負(fù)Ant鐨勫熀鏈墽琛屽崟鍏冿紝瀹冨彲浠ュ寘鍚竴涓垨澶氫釜鍏蜂綋鐨勪換鍔°傚涓?/span>target鍙互瀛樺湪鐩鎬簰渚濊禆鍏崇郴銆傚畠鏈夊涓嬪睘鎬э細(xì)
1錛?/strong>name灞炴?/span>
鎸囧畾target鍏冪礌鐨勫悕縐幫紝榪欎釜灞炴у湪涓涓?/span>project鍏冪礌涓槸鍞竴鐨勩傛垜浠彲浠ラ氳繃鎸囧畾target鍏冪礌鐨勫悕縐版潵鎸囧畾鏌愪釜target銆?/span>
2錛?/strong>depends灞炴?/span>
鐢ㄤ簬鎻忚堪target涔嬮棿鐨勪緷璧栧叧緋伙紝鑻ヤ笌澶氫釜target瀛樺湪渚濊禆鍏崇郴鏃訛紝闇瑕佷互“,”闂撮殧銆?/span>Ant浼?xì)渚濈?/span>depends灞炴т腑target鍑虹幇鐨勯『搴忎緷嬈℃墽琛屾瘡涓?/span>target銆傝渚濊禆鐨?/span>target浼?xì)鍏堟墽琛屻?/span>
3錛?/strong>if灞炴?/span>
鐢ㄤ簬楠岃瘉鎸囧畾鐨勫睘鎬ф槸鍚﹀瓨鍦紝鑻ヤ笉瀛樺湪錛屾墍鍦?/span>target灝嗕笉浼?xì)琚墽琛屻?/span>
4錛?/strong>unless灞炴?/span>
璇ュ睘鎬х殑鍔熻兘涓?/span>if灞炴х殑鍔熻兘姝eソ鐩稿弽錛屽畠涔熺敤浜庨獙璇佹寚瀹氱殑灞炴ф槸鍚﹀瓨鍦紝鑻ヤ笉瀛樺湪錛屾墍鍦?/span>target灝嗕細(xì)琚墽琛屻?/span>
5錛?/strong>description灞炴?/span>
璇ュ睘鎬ф槸鍏充簬target鍔熻兘鐨勭畝鐭弿榪板拰璇存槑銆?/span>
涓嬮潰甯﹂璇昏呮潵鐪嬩竴涓悇灞炴х患鍚堜嬌鐢ㄧ殑渚嬪瓙銆備慨鏀?/span>E:"build.xml鏂囦歡錛屼慨鏀瑰悗鐨勫唴瀹瑰涓嬶細(xì)
榪涘叆E鐩樺悗榪愯ant targetB錛屽彲鐪嬪埌濡備笅鍥炬墍紺虹殑榪愯緇撴灉錛?br />
璇昏呭垎鏋愮粨鏋滃悗鍙互鐪嬪埌錛屾垜浠繍琛岀殑鏄悕涓?/span>targetB鐨?/span>target錛屽洜璇?/span>target渚濊禆浜?/span>targetA錛屾墍浠?/span>targetA灝嗛鍏堣鎵ц錛屽悓鏃跺洜涓虹郴緇熷畨瑁呬簡java鐜錛屾墍浠?/span>ant.java.version灞炴у瓨鍦紝鎵ц浜?/span>targetA榪欎釜target錛岃緭鍑轟俊鎭細(xì)[echo] Java Version: 1.5錛?/span>targetA鎵ц瀹屾瘯鍚庯紝鎺ョ潃鎵цtargetB錛屽洜涓?/span>amigo涓嶅瓨鍦紝鑰?/span>unless灞炴ф槸鍦ㄤ笉瀛樺湪鏃惰繘鍏ユ墍鍦ㄧ殑target鐨勶紝鐢辨鍙煡targetB寰椾互鎵ц錛岃緭鍑轟俊鎭細(xì)The base dir is: E:"銆?/span>
3. property鍏冪礌
璇ュ厓绱犲彲鐪嬩綔鍙傞噺鎴栬呭弬鏁扮殑瀹氫箟錛?/span>project鐨勫睘鎬у彲浠ラ氳繃property鍏冪礌鏉ヨ瀹氾紝涔熷彲鍦?/span>Ant涔嬪璁懼畾銆傝嫢瑕佸湪澶栭儴寮曞叆鏌愭枃浠訛紝渚嬪build.properties鏂囦歡錛屽彲浠ラ氳繃濡備笅鍐呭灝嗗叾寮曞叆錛?/span><property file=” build.properties”/>
property鍏冪礌鍙敤浣?/span>task鐨勫睘鎬у箋傚湪task涓槸閫氳繃灝嗗睘鎬у悕鏀懼湪“${”鍜?#8220;}”涔嬮棿錛屽茍鏀懼湪task灞炴у肩殑浣嶇疆鏉ュ疄鐜扮殑銆?/span>
Ant鎻愪緵浜嗕竴浜涘唴緗殑灞炴э紝瀹冭兘寰楀埌鐨勭郴緇熷睘鎬х殑鍒楄〃涓?/span>Java鏂囨。涓?/span>System.getPropertis()鏂規(guī)硶寰楀埌鐨勫睘鎬т竴鑷達(dá)紝榪欎簺緋葷粺灞炴у彲鍙傝?/span>sun緗戠珯鐨勮鏄庛?/span>
鍚屾椂錛?/span>Ant榪樻彁渚涗簡涓浜涘畠鑷繁鐨勫唴緗睘鎬э紝濡備笅錛?/span>
basedir錛?/span>project鍩虹洰褰曠殑緇濆璺緞錛岃灞炴у湪璁茶Вproject鍏冪礌鏃舵湁璇︾粏璇存槑錛屼笉鍐嶈禈榪幫紱
ant.file錛?/span>buildfile鐨勭粷瀵硅礬寰勶紝濡備笂闈㈢殑鍚勪緥瀛愪腑錛?/span>ant.file鐨勫間負(fù)E:"build.xml錛?/span>
ant.version錛?/span>Ant鐨勭増鏈紝鍦ㄦ湰鏂囦腑錛屽間負(fù)1.7.0錛?/span>
ant.project.name錛氬綋鍓嶆寚瀹氱殑project鐨勫悕瀛楋紝鍗沖墠鏂囪鍒扮殑project鐨?/span>name灞炴х殑鍊鹼紱
ant.java.version錛?/span>Ant媯(gè)嫻嬪埌鐨?/span>JDK鐨勭増鏈紝鍦ㄤ笂渚嬭繍琛岀粨鏋滀腑鍙湅鍒頒負(fù)1.5銆?/span>
涓嬮潰璁╄鑰呮潵鐪嬩竴涓?/span>property鍏冪礌浣跨敤鐨勭畝鍗曚緥瀛愩備慨鏀?/span>E:"build.xml鏂囦歡錛屽唴瀹瑰涓嬶細(xì)
璇ヤ緥鐨勮繍琛岀粨鏋滃涓嬪浘鎵紺猴細(xì)
鐢辨璇昏呭彲浠ョ湅鍑猴紝閫氳繃濡備笅涓や釜璇彞錛?/span>
<property name="name" value="amigo"/>
<property name="age" value="25"/>
鎴戜滑璁劇疆浜嗗悕涓?/span>name鍜?/span>age鐨勪袱涓睘鎬э紝榪欎袱涓睘鎬ц緗悗錛岃鑰呭湪涓嬫枃涓彲浠ラ氳繃${name}鍜?/span>${age}鍒嗗埆鍙栧緱榪欎袱涓睘鎬х殑鍊箋?/span>
涓夛紟 Ant鐨勫父鐢ㄤ換鍔?/span>
鍦?/span>Ant宸ュ叿涓瘡涓涓換鍔″皝瑁呬簡鍏蜂綋瑕佹墽琛岀殑鍔熻兘錛屾槸Ant宸ュ叿鐨勫熀鏈墽琛屽崟浣嶃傚湪鏈皬鑺備腑錛屼富瑕佸紩瀵艱鑰呮潵鐪嬩笅Ant鐨勫父鐢ㄤ換鍔″強(qiáng)鍏朵嬌鐢ㄤ婦渚嬨?/span>
1. copy浠誨姟
璇ヤ換鍔′富瑕佺敤鏉ュ鏂囦歡鍜岀洰褰曠殑澶嶅埗鍔熻兘銆備婦渚嬪涓嬶細(xì)
Eg1.澶嶅埗鍗曚釜鏂囦歡錛?/span><copy file="file.txt" tofile="copy.txt"/>
Eg2.瀵規(guī)枃浠剁洰褰曡繘琛屽鍒訛細(xì)
<copy todir="../newdir/dest_dir">
<fileset dir="src_dir"/>
</copy>
Eg3. 灝嗘枃浠跺鍒跺埌鍙﹀鐨勭洰褰曪細(xì)
<copy file="file.txt" todir="../other/dir"/>
2. delete浠誨姟
瀵規(guī)枃浠舵垨鐩綍榪涜鍒犻櫎錛屼婦渚嬪涓嬶細(xì)
Eg1. 鍒犻櫎鏌愪釜鏂囦歡錛?/span><delete file="photo/amigo.jpg"/>
Eg2. 鍒犻櫎鏌愪釜鐩綍錛?/span><delete dir="photo"/>
Eg3. 鍒犻櫎鎵鏈夌殑澶囦喚鐩綍鎴栫┖鐩綍錛?/span>
<delete includeEmptyDirs="true">
<fileset dir="." includes="**/*.bak"/>
</delete>
3. mkdir浠誨姟
鍒涘緩鐩綍銆?/span>eg錛?/span><mkdir dir="build"/>
4. move浠誨姟
縐誨姩鏂囦歡鎴栫洰褰曪紝涓句緥濡備笅錛?/span>
Eg1. 縐誨姩鍗曚釜鏂囦歡錛?/span><move file="fromfile" tofile=”tofile”/>
Eg2. 縐誨姩鍗曚釜鏂囦歡鍒板彟涓涓洰褰曪細(xì)<move file="fromfile" todir=”movedir”/>
Eg3. 縐誨姩鏌愪釜鐩綍鍒板彟涓涓洰褰曪細(xì)
<move todir="newdir">
<fileset dir="olddir"/>
</move>
5. echo浠誨姟
璇ヤ換鍔$殑浣滅敤鏄牴鎹棩蹇楁垨鐩戞帶鍣ㄧ殑綰у埆杈撳嚭淇℃伅銆傚畠鍖呮嫭message銆?/span>file銆?/span>append鍜?/span>level鍥涗釜灞炴э紝涓句緥濡備笅錛?/span>
<echo message="Hello,Amigo" file="logs/system.log" append="true">
鍥涳紟 鍒╃敤Ant鏋勫緩鍜岄儴緗?/span>Java宸ョ▼
Ant鍙互浠f浛浣跨敤javac銆?/span>java鍜?/span>jar絳夊懡浠ゆ潵鎵цjava鎿嶄綔錛屼粠鑰岃揪鍒拌交鏉劇殑鏋勫緩鍜岄儴緗?/span>Java宸ョ▼鐨勭洰鐨勩備笅闈㈡潵鐪嬪嚑涓煡璇嗙偣銆?/span>
1. 鍒╃敤Ant鐨?/span>javac浠誨姟鏉ョ紪璇?/span>java紼嬪簭
Ant鐨?/span>javac浠誨姟鐢ㄤ簬瀹炵幇緙栬瘧Java紼嬪簭鐨勫姛鑳姐備笅闈㈡潵鐪嬩竴涓畝鍗曠殑渚嬪瓙錛?/span>
棣栧厛鎴戜滑寤虹珛鍚嶄負(fù)antstudy鐨?/span>Java宸ョ▼錛屽緩绔?/span>src鐩綍涓烘簮浠g爜鐩綍錛屽湪src鐩綍涓嬪緩绔?/span>HelloWorld.java榪欎釜綾繪枃浠躲傝綾繪枃浠剁殑鍐呭濡備笅錛?/span>
鍚屾椂鍦?/span>antstudy宸ョ▼鐨勬牴鐩綍涓嬪緩绔?/span>build.xml鏂囦歡錛屽湪璇ユ枃浠朵腑緙栬瘧src鐩綍涓嬬殑java鏂囦歡錛屽茍灝嗙紪璇戝悗鐨?/span>class鏂囦歡鏀懼叆build/classes鐩綍涓紝鍦ㄧ紪璇戝墠錛岄渶娓呴櫎classes鐩綍錛岃鏂囦歡鐨勫唴瀹瑰涓嬶細(xì)
榪愯璇?/span>build.xml鏂囦歡錛屽彲鍦ㄥ伐紼嬩腑鐪嬪埌鏂板浜?/span>build/classes鐩綍錛屽茍鍦ㄨ鐩綍涓敓鎴愪簡緙栬瘧鍚庣殑HelloWorld.class鏂囦歡銆?/span>
2. 浣跨敤Ant鐨?/span>java浠誨姟榪愯Java紼嬪簭
Ant涓彲浠ヤ嬌鐢?/span>java浠誨姟瀹炵幇榪愯Java紼嬪簭鐨勫姛鑳姐備笅闈㈠湪1鐨勪緥瀛愪腑榪涜濡備笅鐨勪慨鏀癸紝淇敼鍚庣殑build.xml鏂囦歡鐨勫唴瀹瑰涓嬶細(xì)
榪愯璇?/span>build.xml鏂囦歡錛屽彲鍦ㄦ帶鍒跺彴鐪嬪埌HelloWorld鐨?/span>main鏂規(guī)硶鐨勮緭鍑恒?/span>
3. 浣跨敤Ant鐨?/span>jar浠誨姟鐢熸垚jar鏂囦歡
璇昏呭彲浠ュ湪涓婁緥鐨勫熀紜涓婃洿榪涗竴姝ワ紝鏉ョ敓鎴?/span>jar鍖咃紝鍙湪run榪欎釜target涓嬪啀鍔犱笂濡備笅target錛?br /> 姝ゆ椂灝?/span>ant鐨?/span>project鐨?/span>default灞炴ц緗負(fù)jar錛屽悓鏃惰繍琛岃build.xml鏂囦歡錛岃繍琛屽畬姣曞悗錛屽彲鐪嬪埌鍦ㄥ伐紼嬬洰褰曚笅鐢熸垚浜嗕竴涓?/span>jar鍖?/span>HelloWorld.jar銆?/span>
4. 浣跨敤Ant鐨?/span>war浠誨姟鎵撳寘J2EE Web欏圭洰
寤虹珛涓涓?/span>J2EE Web宸ョ▼錛屽叾鐩綍緇撴瀯濡備笅鍥炬墍紺猴細(xì)
鍏朵腑src涓烘簮浠g爜鐩綍錛?/span>WebRoot涓哄悇jsp瀛樻斁鐩綍錛?/span>lib涓哄伐紼嬬殑鍖呯洰褰曘傚湪antwebproject宸ョ▼鐩綍涓嬪緩绔嬩簡build.xml鏂囦歡錛岃鏂囦歡涓鴻宸ョ▼鐨?/span>Ant鏋勪歡鏂囦歡銆傝鑰呭彲浠?/span>src鐩綍涓嬫斁鍏ュ湪鍓嶇畫渚嬪瓙涓紑鍙戠殑HelloWorld.java鏂囦歡錛屽茍鍦?/span>WebRoot涓嬪緩绔?/span>index.jsp鏂囦歡錛屽叾鍐呭寰堢畝鍗曪紝灝辨槸杈撳嚭Hello淇℃伅錛屼唬鐮佸涓嬫墍紺猴細(xì) 鎺ヤ笅鏉ョ紪鍐?/span>build.xml鏂囦歡錛屽叾鍐呭濡備笅錛?/span> 鍚?/span>target鐨勪綔鐢ㄥ湪鍐呭涓凡緇忚繘琛岃鏄庯紝鍦ㄦ涓嶅啀璧樿堪銆傝繍琛岃build鏂囦歡錛屾洿鏂扮洰褰曞悗錛屽彲鐪嬪埌鍦?/span>build鐩綍涓嬬敓鎴愪簡antwebproject.war鏂囦歡錛岃В寮鍚庡彲鐪嬪埌鍏剁洰褰曠粨鏋勫涓嬶細(xì)