Maven 瀹炴垬一
聽1. 绠€浠?/span>聽
聽 Maven鏄熀浜庨」鐩璞℃ā鍨?POM)锛屽彲浠ラ€氳繃涓€灏忔鎻忚堪淇℃伅鏉ョ鐞嗛」鐩殑鏋勫缓锛屾姤鍛婂拰鏂囨。鐨勮蒋浠堕」鐩鐞嗗伐鍏?
銆€ 濡傛灉浣犲凡缁忔湁鍗佹杈撳叆鍚屾牱鐨凙nt targets鏉ョ紪璇戜綘鐨勪唬鐮併€乯ar鎴栬€厀ar銆佺敓鎴恓avadocs锛屼綘涓€瀹氫細鑷棶锛屾槸鍚︽湁涓€涓噸澶嶆€ф洿灏戝嵈鑳藉悓鏍峰畬鎴愯宸ヤ綔鐨勬柟 娉曘€?Maven渚挎彁渚涗簡杩欐牱涓€绉嶉€夋嫨锛屽皢浣犵殑娉ㄦ剰鍔涗粠浣滀笟灞傝浆绉诲埌椤圭洰绠$悊灞傘€侻aven椤圭洰宸茬粡鑳藉鐭ラ亾濡備綍鏋勫缓鍜屾崋缁戜唬鐮侊紝杩愯娴嬭瘯锛岀敓鎴愭枃妗e苟瀹夸富椤圭洰 缃戦〉
2.鏍稿績浠峰€?/strong>
聽聽聽* 绠€鍗?/strong>聽
聽聽聽聽聽 Maven 鏆撮湶浜嗕竴缁勪竴鑷淬€佺畝浠嬬殑鎿嶄綔鎺ュ彛锛岃兘甯姪鍥㈤槦鎴愬憳浠庡師鏉ョ殑楂樺害鑷畾涔夌殑銆佸鏉傜殑鏋勫缓绯荤粺涓В鑴卞嚭鏉ワ紝浣跨敤Maven鐜版湁鐨勬垚鐔熺殑銆佺ǔ瀹氱殑缁勪欢涔熻兘绠€聽聽 鍖栨瀯寤虹郴缁熺殑澶嶆潅搴︺€?br>
聽聽聽* 浜ゆ祦涓庡弽棣?/strong>聽
聽聽聽聽聽 涓庣増鏈帶鍒剁郴缁熺粨鍚堝悗锛屽鏈変汉閮借兘鎵ц鏈€鏂扮殑鏋勫缓骞跺揩閫熷緱鍒板弽棣堛€傛澶栵紝鑷姩鐢熸垚鐨勯」鐩姤鍛婁篃鑳藉府鍔╂垚鍛樹簡瑙i」鐩殑鐘舵€侊紝淇冭繘鍥㈤槦鐨勪氦娴併€?br>
聽聽聽* 娴嬭瘯椹卞姩寮€鍙?/strong>聽
聽聽聽聽聽聽TDD寮鸿皟娴嬭瘯鍏堣锛屾墍鏈変骇鍝侀兘搴旇鐢辨祴璇曠敤渚嬭鐩栥€傝€屾祴璇曟槸maven鐢熷懡鍛ㄦ湡鐨勬渶閲嶈缁勬垚閮ㄥ垎涔嬩竴锛屽苟涓擬aven鏈夌幇鎴愮殑鎴愮啛鎻掍欢鏀寔涓氱晫娴佽鐨勬祴璇曟鏋讹紝濡侸unit鍜孴estNG銆?br>
聽聽聽* 蹇€熸瀯寤?/strong>
聽聽聽 鍙渶瑕佷竴浜涢厤缃紝涔嬪悗鐢ㄤ竴鏉$畝鍗曠殑鍛戒护灏辫兘璁㎝aven甯綘娓呯悊銆佺紪璇戙€佹祴璇曘€佹墦鍖呫€侀儴缃诧紝鐒跺悗寰楀埌鏈€缁堜骇鍝併€俒/size]
聽聽聽* 鎸佺画闆嗘垚聽
聽聽聽聽聽聽鏇村姞鏂逛究鐨勬寔缁泦鎴?br>
聽聽聽* 瀵屾湁淇℃伅鐨勫伐浣滃尯
2.涓昏鍐呭
聽聽 鎴戝皢浼氬彂琛ㄤ竴绯诲垪璇剧▼鏉ヨ瑙aven鐨勫簲鐢紝鍩轰簬Maven3.0锛屼富瑕佸唴瀹瑰涓嬶細
聽聽 1锛夊畨瑁呭拰閰嶇疆
聽聽 2锛塎aven浣跨敤鍏ラ棬
聽聽 3锛夊潗鏍囧拰渚濊禆
聽聽 4锛塎aven浠撳簱
聽聽 5)聽 鐢熷懡鍛ㄦ湡鍜屾彃浠?br>
聽聽 6锛夎仛鍚堜笌缁ф壙
聽聽 7锛変娇鐢∟exus鍒涘缓绉佹湇
聽聽 8锛変娇鐢∕aven杩涜娴嬭瘯
聽聽 9锛塵2eclipse鐨勪娇鐢?br>
聽聽 10锛夎嚜鍔ㄩ儴缃瞞aven椤圭洰
聽聽 11锛変娇鐢℉udson杩涜鎸佺画闆嗘垚
3. 瀹夎濂絁DK
聽聽聽 浠DK1.5浠ヤ笂涓轰緥
4. Maven 鐨勪笅杞?br>聽聽 涓嬭浇鍦板潃锛?a target="_blank" style="line-height: 1.42em; margin: 0px; color: #047ac6; border: 0px; padding: 0px;" href="http://maven.apache.org/download.html">http://maven.apache.org/download.html
5.Maven瀹夎
聽聽 灏嗕笅杞藉埌鐨勬枃浠惰В鍘嬪埌鎸囧畾鐩綍鍗冲彲锛屽锛欳:\maven\apache-maven-3.0.4
6.鐜鍙橀噺鐨勯厤缃?br>
聽聽聽 鍦ㄧ郴缁熺幆澧冨彉閲忎腑鏂板濡備笅鐜鍙橀噺聽
聽聽聽 M2_HOME:聽 Maven鐨勫畨瑁呯洰褰曪紝濡傦細C:\maven\apache-maven-3.0.4聽
聽聽聽 M2:聽 %M2_HOME%\bin聽
聽聽聽聽骞跺湪path涓坊鍔?M2%锛岃繖鏍蜂究鍙互鍦ㄤ换浣曡矾寰勪腑鎵цmvn鍛戒护
7. 妫€娴嬪畨瑁呮槸鍚︽垚鍔?br>
聽聽聽 Cmd绐楀彛鎵ц鍛戒护锛歮vn 鈥搗聽
聽聽聽 寰楀埌濡備笅鍥炬墍绀虹粨鏋滐細
聽聽聽
聽8.璁剧疆浠g悊
聽聽鏈夋椂鍊欎綘鎵€鍦ㄧ殑鍏徃鍩轰簬瀹夊叏鍥犵礌鑰冭檻锛岃姹備綘浣跨敤閫氳繃瀹夊叏璁よ瘉鐨勪唬鐞嗚闂洜鐗圭綉銆傝繖鏃跺氨闇€瑕佷负Maven閰嶇疆HTTP浠g悊銆?/span>
聽聽 鍦ㄧ洰褰晘/.m2/setting.xml鏂囦欢涓紪杈戝涓嬶紙濡傛灉娌℃湁璇ユ枃浠讹紝鍒欏鍒?M2_HOME/conf/setting.xml锛夛細
聽
- <proxies>聽聽
- 聽聽聽聽<proxy>聽聽
- 聽聽聽聽聽聽<id>optional</id>聽聽
- 聽聽聽聽聽聽<active>true</active>聽聽
- 聽聽聽聽聽聽<protocol>http</protocol>聽聽
- 聽聽聽聽聽聽<username>proxyuser</username>聽聽
- 聽聽聽聽聽聽<password>proxypass</password>聽聽
- 聽聽聽聽聽聽<host>proxy.host.net</host>聽聽
- 聽聽聽聽聽聽<port>80</port>聽聽
- 聽聽聽聽聽聽<nonProxyHosts>local.net|some.host.com</nonProxyHosts>聽聽
- 聽聽聽聽</proxy>聽聽聽聽聽聽
- 聽</proxies>聽聽
涓婁竴鑺傝浜唌aven鐨勫畨瑁呭拰閰嶇疆锛岃繖涓€鑺傛垜浠潵瀛︿範涓€涓嬪垱寤轰竴涓畝鍗曠殑Maven椤圭洰
聽
1. 鐢∕aven 鍛戒护鍒涘缓涓€涓畝鍗曠殑Maven椤圭洰
鍦╟md涓繍琛屽涓嬪懡浠わ細
- mvn聽archetype:generate聽聽聽
- -DgroupId=com.mycompany.app聽聽聽
- -DartifactId=my-app-simple聽聽
- 聽-Dversion=1.0聽聽聽
- -DarchetypeArtifactId=maven-archetype-quickstart聽聽
聽
聽鍗冲彲鍦ㄥ綋鍓嶇洰褰曞垱寤轰竴涓畝鍗曠殑maven椤圭洰锛屽綋鐒跺垱寤虹殑鏃跺€欎細浠嶮aven搴撲腑涓嬭浇鐩稿叧鐨勪緷璧栵紝鑰愬績绛夊緟鍗冲彲銆?/p>
maven鐨勫ぇ鑷寸粨鏋勫涓嬶細
- my-app聽聽
- |--聽pom.xml聽聽
- `--聽src聽聽
- 聽聽聽聽|--聽main聽聽
- 聽聽聽聽|聽聽聽|--聽java聽聽
- 聽聽聽聽|聽聽聽|聽聽聽`--聽com聽聽
- 聽聽聽聽|聽聽聽|聽聽聽聽聽聽聽`--聽mycompany聽聽
- 聽聽聽聽|聽聽聽|聽聽聽聽聽聽聽聽聽聽聽`--聽app聽聽
- 聽聽聽聽|聽聽聽|聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽`--聽App.java聽聽
- 聽聽聽聽|聽聽聽`--聽resources聽聽
- 聽聽聽聽|聽聽聽聽聽聽聽`--聽META-INF聽聽
- 聽聽聽聽|聽聽聽聽聽聽聽聽聽聽聽`--聽application.properties聽聽
- 聽聽聽聽`--聽test聽聽
- 聽聽聽聽聽聽聽聽`--聽java聽聽
- 聽聽聽聽聽聽聽聽聽聽聽聽`--聽com聽聽
- 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽`--聽mycompany聽聽
- 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽`--聽app聽聽
- 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽`--聽AppTest.java聽聽
聽
聽聽 src/main/java聽: java婧愭枃浠跺瓨鏀句綅缃?/p>
聽聽 src/main/resource : resource璧勬簮锛屽閰嶇疆鏂囦欢绛?/p>
聽聽 src/test/java : 娴嬭瘯浠g爜婧愭枃浠跺瓨鏀句綅缃?/p>
聽
2.绠€鍗昉OM.xml
聽鎵撳紑椤圭洰鍗冲彲鐪嬪埌pom.xml
- <project聽xmlns="http://maven.apache.org/POM/4.0.0"聽xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"聽聽
- 聽聽xsi:schemaLocation="http://maven.apache.org/POM/4.0.0聽http://maven.apache.org/maven-v4_0_0.xsd">聽聽
- 聽聽<modelVersion>4.0.0</modelVersion>聽聽
- 聽聽<groupId>com.mycompany.app</groupId>聽聽
- 聽聽<artifactId>my-app-simple</artifactId>聽聽
- 聽聽<packaging>jar</packaging>聽聽
- 聽聽<version>1.0</version>聽聽
- 聽聽<name>my-app-simple</name>聽聽
- 聽聽<url>http://maven.apache.org</url>聽聽
- 聽聽<dependencies>聽聽
- 聽聽聽聽<dependency>聽聽
- 聽聽聽聽聽聽<groupId>junit</groupId>聽聽
- 聽聽聽聽聽聽<artifactId>junit</artifactId>聽聽
- 聽聽聽聽聽聽<version>3.8.1</version>聽聽
- 聽聽聽聽聽聽<scope>test</scope>聽聽
- 聽聽聽聽</dependency>聽聽
- 聽聽</dependencies>聽聽
- </project>聽聽
聽杩欐浠g爜涓渶閲嶈鐨勬槸鍖呭惈groupId, artifactId 鍜?version 鐨勪笁琛屻€傝繖涓変釜鍏冪礌瀹氫箟浜嗕竴涓」鐩熀鏈殑鍧愭爣
聽
groupId聽瀹氫箟浜嗛」鐩睘浜庡摢涓粍锛岃繖涓粍寰€寰€鍜岄」鐩墍鍦ㄧ殑缁勭粐鎴栧叕鍙稿瓨鍦ㄥ叧鑱斻€傝濡傚湪googlecode涓婂缓绔嬩簡涓€涓悕涓簃yapp鐨勯」鐩紝閭d箞groupId灏卞簲璇ユ槸com.googlecode.myapp
聽
artifactId聽瀹氫箟浜嗗綋鍓峂aven椤圭洰鍦ㄧ粍缁囦腑鍞竴鐨処D, 鍙互鐞嗚В涓洪」鐩腑鐨勬ā鍧? 妯″潡涓篗aven涓渶灏忓崟浣嶆瀯浠?/p>
version聽椤圭洰鐨勭増鏈?/p>
聽
聽聽聽
3.杩愯绠€鍗昅aven鍛戒护
聽鎴戜滑宸茬粡鍒涘缓浜嗘渶绠€鍗曠殑Maven椤圭洰锛屼笅闈㈡垜浠潵鎵ц涓€浜涚畝鍗曠殑鏋勫缓鍛戒护
聽
聽 缂栬瘧锛?compile
鍦╟md涓紝灏嗙洰褰曞垏鎹㈠埌my-app-simple涓嬶紝鎵цmvn clean compile
build success涔嬪悗鎴戜滑浼氬湪my-app-simple涓嬬湅鍒版柊澧炰簡涓€涓猼arget鐩綍锛岃鐩綍涓嬪瓨鏀鹃」鐩紪璇戝悗鐨勬枃浠讹紝濡?class鏂囦欢
聽
聽 娓呯悊锛毬燾lean
cmd鐩綍my-app-simple涓嬫墽琛屽懡浠?mvn clean
浼氬皢target鏂囦欢鍒犻櫎锛屽嵆娓呯悊椤圭洰锛岃鍛戒护鍙互缁撳悎鍏朵粬鍛戒护杩愯
聽
聽 娴嬭瘯: test
cmd鐩綍my-app-simple涓嬫墽琛屽懡浠?mvn test
浼氭墽琛宻rc/test/java 涓嬬殑Junit 娴嬭瘯浠g爜
褰撶劧鍦ㄦ墽琛屾祴璇曚箣鍓嶄細鑷姩鎵ц缂栬瘧鍛戒护锛岃繍琛岀粨鏋滃涓嬪浘锛?/p>
聽
聽鎵撳寘: package
聽cmd鐩綍my-app-simple涓嬫墽琛屽懡浠?mvn package
聽浼氬皢椤圭洰鎵撴垚jar鍖咃紝骞舵斁鍦╰arget鐩綍涓?/p>
聽鎵ц姝ゅ懡浠や箣鍓嶄細鍏堟墽琛岀紪璇戝拰娴嬭瘯鍛戒护
聽
聽瀹夎锛歩nstall聽
聽cmd鐩綍my-app-simple涓嬫墽琛屽懡浠?mvn install
聽浼氬皢椤圭洰jar鍖呭畨瑁呭埌鏈湴浠撳簱涓紝浠ヤ究鍏朵粬椤圭洰浣跨敤
鎵ц姝ゅ懡浠や箣鍓嶄細鍏堟墽琛岀紪璇戯紝娴嬭瘯锛屾墦鍖呭懡浠ぢ?/p>
聽
锛堜笁锛塃clipse鏋勫缓Maven椤圭洰
1. 瀹夎m2eclipse鎻掍欢
聽聽 瑕佺敤Eclipse鏋勫缓Maven椤圭洰锛屾垜浠渶瑕佸厛瀹夎meeclipse鎻掍欢
聽聽 鐐瑰嚮eclipse鑿滃崟鏍廐elp->Eclipse Marketplace鎼滅储鍒版彃浠禡aven Integration for Eclipse 骞剁偣鍑诲畨瑁呭嵆鍙紝濡備笅鍥撅細
聽
聽
瀹夎鎴愭垚涔嬪悗鎴戜滑鍦‥clipse鑿滃崟鏍忎腑鐐瑰嚮File->New->Other,鍦ㄥ脊鍑虹殑瀵硅瘽妗嗕腑浼氱湅鍒板涓嬪浘鎵€绀猴細
聽
2.聽鏋勫缓Maven椤圭洰聽聽
聽聽聽聽聽
聽聽聽聽聽聽浠clipse3.6涓轰緥
聽聽聽聽聽 1锛夊垱寤虹畝鍗昅aven椤圭洰
聽聽聽聽聽聽聽聽聽聽 鐐瑰嚮Eclipse鑿滃崟鏍廎ile->New->Ohter->Maven寰楀埌濡備笅鍥炬墍绀哄璇濇锛?/p>
聽聽聽聽聽聽聽聽聽聽
聽
閫変腑Maven Project骞剁偣鍑籒ext锛屽埌涓嬩竴涓璇濇缁х画鐐瑰嚮Next寰楀埌濡備笅瀵硅瘽妗?/p>
聽濡傚浘绀烘搷浣滐紝閫夋嫨maven-archetype-quickstart锛岀偣鍑籒ext
聽鎸夊浘绀哄~鍐欏ソgroupId, artfactId,version绛変俊鎭紝鐐瑰嚮Finish銆?/p>
鐢辨鎴戜滑鎴愬姛鍒涘缓浜嗕竴涓畝鍗曠殑Maven椤圭洰锛岄」鐩粨鏋勫鍥炬墍绀?/p>
聽
聽聽聽聽 2锛夊垱寤篗aven web椤圭洰
聽聽聽聽 鎿嶄綔璺熷垱寤虹畝鍗昅aven椤圭洰绫讳技锛岀偣鍑籈clipse鑿滃崟File->New->Other->Maven->Maven Project
聽聽聽聽 鍦ㄩ€夋嫨maven-archetype鐨勭晫闈㈣繘琛屽涓嬫搷浣滐細
聽聽聽聽
聽鐐瑰嚮Next,濉啓濂界浉搴旂殑groupId,artifactId,version绛変俊鎭紝鐐瑰嚮Finish
寰楀埌鐨凪aven web椤圭洰缁撴瀯濡備笅鍥炬墍绀猴細
聽
聽
聽鍙冲嚮椤圭洰锛岀偣鍑籔roperties->Project Facets
聽
濡備笂鍥惧彲浠ョ湅鍒伴」鐩负web2.3 java1.5 褰撶劧鎴戜滑涔熷彲浠ユ敼鎴愭垜浠墍闇€瑕佺殑鐗堟湰锛屾墦寮€xml鏂囦欢my-app-web/.settings/org.eclipse.wst.common.project.facet.core.xml锛岃繘琛屼慨鏀瑰嵆鍙細
- <?xml聽version="1.0"聽encoding="UTF-8"?>聽聽
- <faceted-project>聽聽
- 聽聽<fixed聽facet="wst.jsdt.web"/>聽聽
- 聽聽<installed聽facet="java"聽version="1.5"/>聽聽
- 聽聽<installed聽facet="jst.web"聽version="2.3"/>聽聽
- 聽聽<installed聽facet="wst.jsdt.web"聽version="1.0"/>聽聽
- </faceted-project>聽聽
聽
聽聽聽聽 3锛夊鍏aven椤圭洰
聽聽聽聽聽聽聽聽聽 鍦‥clipse project explorer涓彸鍑伙紝鍦ㄥ脊鍑烘涓€夋嫨import锛屽緱鍒板涓嬪浘鎵€绀猴細聽聽聽聽聽聽聽聽聽
聽
聽聽聽聽聽 閫夋嫨Existing Maven Projects锛屽苟鐐瑰嚮Next锛屽緱鍒板涓嬪浘鎵€绀哄璇濇锛?/p>
聽聽聽聽
聽
閫夋嫨涓€涓凡缁忓垱寤哄ソ鐨凪aven椤圭洰锛屽苟鐐瑰嚮Finish銆?/p>
鐢辨锛屽鍏aven椤圭洰鎴愬姛
聽
聽
聽聽聽聽
3.聽杩愯Maven鍛戒护
聽聽聽聽聽
聽聽聽 鍙冲嚮椤圭洰锛岀偣鍑籖un as锛屽涓嬪浘锛?/p>
聽
聽
聽鍗冲彲鐪嬪埌鏈夊緢澶氱幇鏈夌殑maven鍛戒护锛岀偣鍑诲嵆鍙繍琛岋紝骞跺湪鎺у埗鍙板彲浠ョ湅鍒拌繍琛屼俊鎭?/p>
聽濡傛灉浣犳兂杩愯鐨刴aven鍛戒护鍦ㄨ繖閲屾病鏈夋壘鍒帮紝鐐瑰嚮Maven build鍒涘缓鏂扮殑鍛戒护锛屾搷浣滃涓嬪浘鎵€绀猴細
聽
聽濡備笅鍥惧~鍏aven鍛戒护锛岀偣鍑籖un鍗冲彲
聽
鏂板鐨刴aven鍛戒护鍙互閫氳繃濡備笅鏂瑰紡鎵惧埌锛屽苟鍐嶆杩愯锛?/p>
聽
1. 涓夊鐢熷懡鍛ㄦ湡
聽聽聽 Maven鎷ユ湁涓夊鐩镐簰鐙珛鐨勭敓鍛藉懆鏈燂紝瀹冧滑鍒嗗埆涓篶lean锛宒efault鍜宻ite銆?br>姣忎釜鐢熷懡鍛ㄦ湡鍖呭惈涓€浜涢樁娈碉紝杩欎簺闃舵鏄湁椤哄簭鐨勶紝骞朵笖鍚庨潰鐨勯樁娈典緷璧栦簬鍓嶉潰鐨勯樁娈碉紝鐢ㄦ埛鍜孧aven鏈€鐩存帴鐨勪氦浜掓柟寮忓氨鏄皟鐢ㄨ繖浜涚敓鍛藉懆鏈熼樁娈点€?br>浠?clean鐢熷懡鍛ㄦ湡涓轰緥锛屽畠鍖呭惈鐨勯樁娈垫湁pre-clean, clean 鍜?post clean銆傚綋鐢ㄦ埛璋冪敤pre-clean鐨勬椂鍊欙紝鍙湁pre-clean寰椾互鎵ц锛屽綋鐢ㄦ埛璋冪敤clean鐨勬椂鍊欙紝pre-clean鍜宑lean闃舵浼?寰椾互椤哄簭鎵ц锛涘綋鐢ㄦ埛璋冪敤post-clean鐨勬椂鍊欙紝pre-clean,clean,post-clean浼氬緱浠ラ『搴忔墽琛屻€?br>
杈冧箣浜庣敓鍛藉懆鏈熼樁娈电殑鍓嶅悗渚濊禆鍏崇郴锛屼笁濂楃敓鍛藉懆鏈熸湰韬槸鐩镐簰鐙珛鐨勶紝鐢ㄦ埛鍙互浠呬粎璋冪敤clean鐢熷懡鍛ㄦ湡鐨勬煇涓樁娈碉紝鎴栬€呬粎浠呰皟鐢╠efault鐢熷懡鍛ㄦ湡鐨勬煇涓樁娈碉紝鑰屼笉浼氬鍏朵粬鐢熷懡鍛ㄦ湡浜х敓浠讳綍褰卞搷銆?br>
2. clean 鐢熷懡鍛ㄦ湡
聽聽聽聽聽 clean鐢熷懡鍛ㄦ湡鐨勭洰鐨勬槸娓呯悊椤圭洰锛屽畠鍖呭惈涓変釜闃舵锛?/p>
聽聽聽聽 1锛?strong style="line-height: 1.42em;">pre-clean聽鎵ц涓€浜涙竻鐞嗗墠闇€瑕佸畬鎴愮殑宸ヤ綔銆?/p>
聽聽聽聽 2锛?strong style="line-height: 1.42em;">clean聽娓呯悊涓婁竴娆℃瀯寤虹敓鎴愮殑鏂囦欢銆?/p>
聽聽聽聽 3锛?strong style="line-height: 1.42em;">post-clean聽鎵ц涓€浜涙竻鐞嗗悗闇€瑕佸畬鎴愮殑宸ヤ綔銆?/p>
聽
3.聽default 鐢熷懡鍛ㄦ湡
聽聽聽聽聽聽 default鐢熷懡鍛ㄦ湡瀹氫箟浜嗙湡姝f瀯浠舵椂鎵€闇€瑕佹墽琛岀殑鎵€鏈夋楠わ紝瀹冩槸鐢熷懡鍛ㄦ湡涓渶鏍稿績鐨勯儴鍒嗭紝瀹冨寘鍚殑闃舵濡備笅锛?/p>
聽聽聽聽聽聽 1锛?span class="Apple-converted-space">聽validate聽楠岃瘉椤圭洰鏄惁姝g‘鍜屾墍鏈夐渶瑕佺殑鐩稿叧璧勬簮鏄惁鍙敤
聽聽聽聽聽聽 2锛?span class="Apple-converted-space">聽initialize聽鍒濆鍖栨瀯寤?/p>
聽聽聽聽聽聽 3锛?span class="Apple-converted-space">聽generate-sources
聽聽聽聽聽聽 4)聽聽聽process-sources聽澶勭悊婧愪唬鐮?/p>
聽聽聽聽聽聽 5锛?span class="Apple-converted-space">聽generate-resources聽
聽聽聽聽聽聽 6)聽聽聽process-resources聽澶勭悊椤圭洰涓昏祫婧愭枃浠躲€傚src/main/resources鐩綍鐨勫唴瀹硅繘琛屽彉閲忔浛鎹㈢瓑宸ヤ綔鍚庯紝澶嶅埗鍒伴」鐩緭鍑虹殑涓籧lasspath鐩綍涓€?/p>
聽聽聽聽聽聽 7锛?span class="Apple-converted-space">聽compile聽缂栬瘧椤圭洰鐨勪富婧愪唬鐮?/p>
聽聽聽聽聽聽 8锛?span class="Apple-converted-space">聽process-classes
聽聽聽聽聽聽 9)聽聽聽generate-test-sources
聽聽聽聽聽聽 10)聽process-test-sources聽澶勭悊椤圭洰娴嬭瘯璧勬簮鏂囦欢
聽聽聽聽聽聽聽11锛?strong style="line-height: 1.42em;">generate-test-resources
聽聽聽聽聽聽聽12)聽聽process-test-resources聽澶勭悊娴嬭瘯鐨勮祫婧愭枃浠?/p>
聽聽聽聽聽聽 13锛?strong style="line-height: 1.42em;">test-compile聽缂栬瘧椤圭洰鐨勬祴璇曚唬鐮?/p>
聽聽聽聽聽聽 14锛?strong style="line-height: 1.42em;">process-test-classes
聽聽聽聽聽聽 15)聽聽test聽浣跨敤鍗曞厓娴嬭瘯妗嗘灦杩愯娴嬭瘯锛屾祴璇曚唬鐮佷笉浼氳鎵撳寘鎴栭儴缃?/p>
聽聽聽聽聽聽 16锛?strong style="line-height: 1.42em;">prepare-package聽鍋氬ソ鎵撳寘鐨勫噯澶?/p>
聽聽聽聽聽聽聽17锛?strong style="line-height: 1.42em;">package聽鎺ュ彈缂栬瘧濂界殑浠g爜锛屾墦鍖呮垚鍙彂甯冪殑鏍煎紡
聽聽聽聽聽聽 18)聽聽pre-integration-test
聽聽聽聽聽聽聽19)聽聽integration-test
聽聽聽聽聽聽聽20)聽聽post integration-test
聽聽聽聽聽聽 21)聽聽verify
聽聽聽聽聽聽 22)聽聽install聽灏嗗寘瀹夎鍒癕aven鏈湴浠撳簱锛屼緵鏈湴鍏朵粬Maven椤圭洰浣跨敤
聽聽聽聽聽聽 23锛?strong style="line-height: 1.42em;">deploy聽灏嗘渶缁堢殑鍖呭鍒跺埌杩滅▼浠撳簱锛屼緵鍏朵粬寮€鍙戜汉鍛樺拰Maven椤圭洰浣跨敤
聽聽聽聽聽聽聽
聽
4.聽site 鐢熷懡鍛ㄦ湡
聽聽聽聽聽 site鐢熷懡鍛ㄦ湡鐨勭洰鐨勬槸寤虹珛鍜屽彂甯冮」鐩珯鐐癸紝Maven鑳藉鍩轰簬POM鎵€鍖呭惈鐨勪俊鎭紝鑷姩鐢熸垚涓€涓弸濂界殑绔欑偣锛屾柟渚垮洟闃熶氦娴佸拰鍙戝竷椤圭洰淇℃伅銆傝鐢熷懡鍛ㄦ湡鍖呭惈濡備笅闃舵锛?/p>
聽聽聽聽聽 1锛?strong style="line-height: 1.42em;">pre-site聽鎵ц涓€浜涘湪鐢熸垚椤圭洰绔欑偣涔嬪墠闇€瑕佸畬鎴愮殑宸ヤ綔
聽聽聽聽聽 2锛?strong style="line-height: 1.42em;">site聽鐢熸垚椤圭洰绔欑偣鏂囨。
聽聽聽聽聽 3锛?strong style="line-height: 1.42em;">post-site聽鎵ц涓€浜涘湪鐢熸垚椤圭洰绔欑偣涔嬪悗闇€瑕佸畬鎴愮殑宸ヤ綔
1.涓轰粈涔堣瀹氫箟Maven鍧愭爣
聽聽聽聽 鍦ㄦ垜浠紑鍙慚aven椤圭洰鐨勬椂鍊欙紝闇€瑕佷负鍏跺畾涔夐€傚綋鐨勫潗鏍囷紝杩欐槸Maven寮哄埗瑕佹眰鐨勩€傚湪杩欎釜鍩虹涓婏紝鍏朵粬Maven椤圭洰鎵嶈兘搴旂敤璇ラ」鐩敓鎴愮殑鏋勪欢銆?br>
2.Maven鍧愭爣璇﹁В
聽聽聽聽 Maven鍧愭爣涓哄悇绉嶆瀯浠跺紩鍏ヤ簡绉╁簭锛屼换浣曚竴涓瀯浠堕兘蹇呴』鏄庣‘瀹氫箟鑷繁鐨勫潗鏍囷紝鑰屼竴缁凪aven鍧愭爣鏄€氳繃涓€浜涘厓绱犲畾涔夌殑锛屽畠浠槸groupId,artifactId,version,packaging,class-sifer銆備笅闈㈡槸涓€缁勫潗鏍囧畾涔夛細
聽聽
- <groupId>com.mycompany.app</groupId>聽聽
- 聽聽<artifactId>my-app</artifactId>聽聽
- 聽聽<packaging>jar</packaging>聽聽
- 聽<version>0.0.1-SNAPSHOT</version>聽聽
聽涓嬮潰璁茶В涓€涓嬪悇涓潗鏍囧厓绱狅細
聽
groupId聽锛氬畾涔夊綋鍓峂aven椤圭洰闅跺睘鐨勫疄闄呴」鐩€傞鍏堬紝Maven椤圭洰鍜屽疄闄呴」鐩笉涓€瀹氭槸涓€瀵逛竴鐨勫叧 绯汇€傛瘮濡係pringFrameWork杩欎竴瀹為檯椤圭洰锛屽叾瀵瑰簲鐨凪aven椤圭洰浼氭湁寰堝锛屽spring-core,spring-context绛夈€傝繖 鏄敱浜嶮aven涓ā鍧楃殑姒傚康锛屽洜姝わ紝涓€涓疄闄呴」鐩線寰€浼氳鍒掑垎鎴愬緢澶氭ā鍧椼€傚叾娆★紝groupId涓嶅簲璇ュ搴旈」鐩毝灞炵殑缁勭粐鎴栧叕鍙搞€傚師鍥犲緢绠€鍗曪紝涓€涓粍缁?涓嬩細鏈夊緢澶氬疄闄呴」鐩紝濡傛灉groupId鍙畾涔夊埌缁勭粐绾у埆锛岃€屽悗闈㈡垜浠細鐪嬪埌锛宎rtifactId鍙兘瀹氫箟Maven椤圭洰锛堟ā鍧楋級锛岄偅涔堝疄闄呴」鐩繖涓眰 娆″皢闅句互瀹氫箟銆傛渶鍚庯紝groupId鐨勮〃绀烘柟寮忎笌Java鍖呭悕鐨勮〃杈炬柟寮忕被浼硷紝閫氬父涓庡煙鍚嶅弽鍚戜竴涓€瀵瑰簲銆?/p>
聽
artifactId聽: 璇ュ厓绱犲畾涔夊綋鍓嶅疄闄呴」鐩腑鐨勪竴涓狹aven椤圭洰锛堟ā鍧楋級锛屾帹鑽愮殑鍋氭硶鏄娇鐢ㄥ疄闄呴」鐩悕绉颁綔涓篴rtifactId鐨勫墠缂€銆傛瘮濡備笂渚嬩腑鐨刴y-app銆?/p>
聽
version聽: 璇ュ厓绱犲畾涔塎aven椤圭洰褰撳墠鐨勭増鏈?/p>
聽
packaging聽锛氬畾涔塎aven椤圭洰鎵撳寘鐨勬柟寮忥紝棣栧厛锛屾墦鍖呮柟寮忛€氬父涓庢墍鐢熸垚鏋勪欢鐨勬枃浠舵墿灞曞悕瀵瑰簲锛屽涓婁緥涓殑packaging涓簀ar,鏈€缁堢殑鏂囦欢鍚嶄负my- app-0.0.1-SNAPSHOT.jar銆備篃鍙互鎵撳寘鎴恮ar, ear绛夈€傚綋涓嶅畾涔塸ackaging鐨勬椂鍊欙紝Maven 浼氫娇鐢ㄩ粯璁ゅ€糺ar
聽
鎴戜滑椤圭洰涓敤鍒扮殑jar鍖呭彲浠ラ€氳繃渚濊禆鐨勬柟寮忓紩鍏ワ紝鏋勫缓椤圭洰鐨勬椂鍊欎粠Maven浠撳簱涓嬭浇鍗冲彲銆?/span>
聽
1. 渚濊禆閰嶇疆
聽聽 渚濊禆鍙互澹版槑濡備笅锛毬?br>聽聽
- <project>聽聽
- 聽聽...聽聽
- 聽聽<dependencies>聽聽
- 聽聽聽聽<dependency>聽聽
- 聽聽聽聽聽聽<groupId>group-a</groupId>聽聽
- 聽聽聽聽聽聽<artifactId>artifact-a</artifactId>聽聽
- 聽聽聽聽聽聽<version>1.0</version>聽聽
- 聽聽聽聽聽聽<exclusions>聽聽
- 聽聽聽聽聽聽聽聽<exclusion>聽聽
- 聽聽聽聽聽聽聽聽聽聽<groupId>group-c</groupId>聽聽
- 聽聽聽聽聽聽聽聽聽聽<artifactId>excluded-artifact</artifactId>聽聽
- 聽聽聽聽聽聽聽聽</exclusion>聽聽
- 聽聽聽聽聽聽</exclusions>聽聽
- 聽聽聽聽</dependency>聽聽
- 聽聽聽聽<dependency>聽聽
- 聽聽聽聽聽聽<groupId>group-a</groupId>聽聽
- 聽聽聽聽聽聽<artifactId>artifact-b</artifactId>聽聽
- 聽聽聽聽聽聽<version>1.0</version>聽聽
- 聽聽聽聽聽聽<type>bar</type>聽聽
- 聽聽聽聽聽聽<scope>runtime</scope>聽聽
- 聽聽聽聽</dependency>聽聽
- 聽聽</dependencies>聽聽
- </project>聽聽
聽鎴戜滑鍦∕aven瀹炴垬(浜?涓氨閬囧埌浜嗕緷璧栫殑姒傚康锛岄」鐩腑娴嬭瘯闇€瑕佷緷璧杍unit jar鍖咃紝渚濊禆閰嶇疆濡備笅锛?/p>
- <dependencies>聽聽
- 聽聽聽聽<dependency>聽聽
- 聽聽聽聽聽聽<groupId>junit</groupId>聽聽
- 聽聽聽聽聽聽<artifactId>junit</artifactId>聽聽
- 聽聽聽聽聽聽<version>3.8.1</version>聽聽
- 聽聽聽聽聽聽<scope>test</scope>聽聽
- 聽聽聽聽</dependency>聽聽
- 聽</dependencies>聽聽
聽渚濊禆浼氬寘鍚熀鏈殑groupId, artifactId,version绛夊厓绱狅紝鏍瑰厓绱爌roject涓嬬殑dependencies鍙互鍖呭惈涓€涓垨鑰呭涓猟ependency鍏冪礌锛屼互澹版槑涓€涓垨鑰呭涓緷璧栥€?br>聽涓嬮潰璇︾粏璁茶В姣忎釜渚濊禆鍙互鍖呭惈鐨勫厓绱狅細
聽
聽聽groupId,artifactId鍜?strong style="line-height: 1.42em;">version锛氫緷璧栫殑鍩烘湰鍧愭爣锛屽浜庝换浣曚竴涓緷璧栨潵璇达紝鍩烘湰鍧愭爣鏄渶閲嶈鐨勶紝Maven鏍规嵁鍧愭爣鎵嶈兘鎵惧埌闇€瑕佺殑渚濊禆
聽
聽聽type: 渚濊禆鐨勭被鍨嬶紝瀵瑰簲浜庨」鐩潗鏍囧畾涔夌殑packaging銆傚ぇ閮ㄥ垎鎯呭喌涓嬶紝璇ュ厓绱犱笉蹇呭0鏄庯紝鍏堕粯璁ゅ€兼槸jar
聽
聽聽scope: 渚濊禆鐨勮寖鍥达紝涓嬮潰浼氳繘琛岃瑙?/p>
聽
聽聽optional: 鏍囪渚濊禆鏄惁鍙€?/p>
聽
聽聽exclusions: 鐢ㄦ潵鎺掗櫎浼犻€掓€т緷璧栵紝涓嬮潰浼氳繘琛岃瑙?/p>
聽
聽 澶ч儴鍒嗕緷璧栧0鏄庡彧鍖呭惈鍩烘湰鍧愭爣銆?/p>
2. 渚濊禆鑼冨洿
聽Maven鍦ㄧ紪璇戜富浠g爜鐨勬椂鍊欓渶瑕佷娇鐢ㄤ竴濂梒lasspath,鍦ㄧ紪璇戝拰鎵ц娴嬭瘯鐨勬椂鍊欎細浣跨敤鍙︿竴濂梒lasspath,瀹為檯杩愯椤圭洰鐨勬椂鍊欙紝鍙堜細浣跨敤涓€濂梒lasspath銆?/p>
聽渚濊禆鑼冨洿灏辨槸鐢ㄦ潵鎺у埗渚濊禆涓庤繖涓夌classpath(缂栬瘧classpath銆佹祴璇昪lasspath銆佽繍琛宑lasspath)鐨勫叧绯伙紝Maven鏈変互涓嬪嚑绉嶄緷璧栬寖鍥达細
聽
compile: 缂栬瘧渚濊禆鑼冨洿銆傚鏋滄病鏈夋寚瀹氾紝灏变細榛樿浣跨敤璇ヤ緷璧栬寖鍥淬€備娇鐢ㄦ渚濊禆鑼冨洿鐨凪aven渚濊禆锛屽浜庣紪璇戙€佹祴璇曘€佽繍琛屼笁绉峜lasspath閮芥湁鏁堛€?/p>
聽
test: 娴嬭瘯渚濊禆鑼冨洿銆備娇鐢ㄦ渚濊禆鑼冨洿鐨凪aven渚濊禆锛屽彧瀵逛簬娴嬭瘯classpath鏈夋晥锛屽湪缂栬瘧涓讳唬鐮佹垨鑰呰繍琛岄」鐩殑浣跨敤鏃跺皢鏃犳硶浣跨敤姝ょ被渚濊禆銆傚吀鍨嬬殑渚嬪瓙灏辨槸JUnit锛屽畠鍙湁鍦ㄧ紪璇戞祴璇曚唬鐮佸強杩愯娴嬭瘯鐨勬椂鍊欐墠闇€瑕併€?/p>
聽
provided: 宸叉彁渚涗緷璧栬寖鍥淬€備娇鐢ㄦ渚濊禆鑼冨洿鐨凪aven渚濊禆锛屽浜庣紪璇戝拰娴嬭瘯classpath鏈夋晥锛屼絾鍦ㄨ繍琛屾椂鏃犳晥銆傚吀鍨嬬殑渚嬪瓙鏄痵ervlet-api锛岀紪璇戝拰娴嬭瘯椤圭洰鐨勬椂鍊欓渶瑕佽渚濊禆锛屼絾鍦ㄨ繍琛岄」鐩殑鏃跺€欙紝鐢变簬瀹瑰櫒宸茬粡鎻愪緵锛屽氨涓嶉渶瑕丮aven閲嶅鍦板紩鍏ヤ竴閬嶃€?/p>
聽
runtime: 杩愯鏃朵緷璧栬寖鍥淬€備娇鐢ㄦ渚濊禆鑼冨洿鐨凪aven渚濊禆锛屽浜庢祴璇曞拰杩愯classpath鏈夋晥锛屼絾鍦ㄧ紪璇戜富浠g爜鏃舵棤鏁堛€傚吀鍨嬬殑渚嬪瓙鏄疛DBC椹卞姩瀹炵幇锛岄」鐩富 浠g爜鐨勭紪璇戝彧闇€瑕丣DK鎻愪緵鐨凧DBC鎺ュ彛锛屽彧鏈夊湪鎵ц娴嬭瘯鎴栬€呰繍琛岄」鐩殑鏃跺€欐墠闇€瑕佸疄鐜颁笂杩版帴鍙g殑鍏蜂綋JDBC椹卞姩銆?/p>
聽
system: 绯荤粺渚濊禆鑼冨洿銆傝渚濊禆涓庝笁绉峜lasspath鐨勫叧绯伙紝鍜宲rovided渚濊禆鑼冨洿瀹屽叏涓€鑷淬€備絾鏄紝浣跨敤system鑼冨洿渚濊禆鏃跺繀椤婚€氳繃 systemPath鍏冪礌鏄惧紡鍦版寚瀹氫緷璧栨枃浠剁殑璺緞銆傜敱浜庢绫讳緷璧栦笉鏄€氳繃Maven浠撳簱瑙f瀽鐨勶紝鑰屼笖寰€寰€涓庢湰鏈虹郴缁熺粦瀹氾紝鍙兘閫犳垚鏋勫缓鐨勪笉鍙Щ妞嶏紝鍥犳 搴旇璋ㄦ厧浣跨敤銆俿ystemPath鍏冪礌鍙互寮曠敤鐜鍙橀噺锛屽锛?/p>
- <dependency>聽聽
- 聽聽聽聽<groupId>javax.sql</groupId>聽聽
- 聽聽聽聽<artifactId>jdbc-stdext</artifactId>聽聽
- 聽聽聽聽<version>2.0</version>聽聽
- 聽聽聽聽<scope></scope>聽聽
- 聽聽聽聽<systemPath>${java.home}/lib/rt.jar</systemPath>聽聽
- </dependency>聽聽
聽
import(Maven 2.0.9鍙婁互涓?: 瀵煎叆渚濊禆鑼冨洿銆傝渚濊禆鑼冨洿涓嶄細瀵逛笁绉峜lasspath浜х敓瀹為檯鐨勫奖鍝嶏紝绋嶅悗浼氫粙缁嶅埌銆?/p>
聽
3. 浼犻€掓€т緷璧?/strong>
聽涓嬮潰鎴戜滑鐪嬩竴涓畝鍗曠殑椤圭洰锛岃鑰呭彲浠庨檮浠朵腑涓嬭浇婧愮爜
POM.xml閰嶇疆濡備笅锛?/p>
- <project聽xmlns="http://maven.apache.org/POM/4.0.0"聽xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"聽聽
- 聽聽xsi:schemaLocation="http://maven.apache.org/POM/4.0.0聽http://maven.apache.org/xsd/maven-4.0.0.xsd">聽聽
- 聽聽<modelVersion>4.0.0</modelVersion>聽聽
- 聽聽
- 聽聽<groupId>com.mycompany.app</groupId>聽聽
- 聽聽<artifactId>my-app-simple</artifactId>聽聽
- 聽聽<version>0.0.1-SNAPSHOT</version>聽聽
- 聽聽<packaging>jar</packaging>聽聽
- 聽聽
- 聽聽<name>my-app-simple</name>聽聽
- 聽聽<url>http://maven.apache.org</url>聽聽
- 聽聽
- 聽聽<properties>聽聽
- 聽聽聽聽<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>聽聽
- 聽聽</properties>聽聽
- 聽聽
- 聽聽<dependencies>聽聽
- 聽聽聽聽<dependency>聽聽
- 聽聽聽聽聽聽<groupId>junit</groupId>聽聽
- 聽聽聽聽聽聽<artifactId>junit</artifactId>聽聽
- 聽聽聽聽聽聽<version>3.8.1</version>聽聽
- 聽聽聽聽聽聽<scope>test</scope>聽聽
- 聽聽聽聽</dependency>聽聽
- 聽聽聽聽聽聽
- 聽聽聽聽聽<dependency>聽聽
- 聽聽聽聽聽聽<groupId>org.springframework</groupId>聽聽
- 聽聽聽聽聽聽<artifactId>spring-core</artifactId>聽聽
- 聽聽聽聽聽聽<version>2.5.6</version>聽聽
- 聽聽聽聽</dependency>聽聽
- 聽聽</dependencies>聽聽
- </project>聽聽
聽鎴戜滑鍙互鐪嬪埌姝ら」鐩紩鍏ヤ緷璧杍unit鍜宻pring-core锛屾垜浠彲浠ュ湪Maven浠撳簱涓煡鎵緎pring-core鏋勪欢锛屽鍥撅細
鐐瑰嚮POM鎴戜滑浼氱湅鍒拌鏂囦欢鍖呭惈浜嗕竴涓猚ommons-logging渚濊禆锛?/p>
- <dependency>聽聽
- 聽聽<groupId>commons-logging</groupId>聽聽聽
- 聽聽<artifactId>commons-logging</artifactId>聽聽聽
- 聽聽<version>1.1.1</version>聽聽聽
- </dependency>聽聽
聽
聽閭d箞璇ヤ緷璧栦細浼犻€掑埌褰撳墠椤圭洰涓紝杩欏氨鏄緷璧栫殑浼犻€掓€э紝鎵撳紑椤圭洰鏌ョ湅Maven dependencies:
聽
聽
4. 鍙€変緷璧?/strong>
聽鏈夋椂鍊欐垜浠笉鎯宠渚濊禆浼犻€掞紝閭d箞鍙厤缃渚濊禆涓哄彲閫変緷璧栵紝灏嗗厓绱爋ptional璁剧疆涓簍rue鍗冲彲,渚嬪锛?/p>
- <dependency>聽聽
- 聽聽<groupId>commons-logging</groupId>聽聽聽
- 聽聽<artifactId>commons-logging</artifactId>聽聽聽
- 聽聽<version>1.1.1</version>聽聽聽
- 聽聽<optional>true<optional>聽聽
- </dependency>聽聽
閭d箞渚濊禆璇ラ」鐩殑鍙︿互椤圭洰灏嗕笉浼氬緱鍒版渚濊禆鐨勪紶閫?/p>
聽
聽5. 鎺掗櫎渚濊禆
聽聽聽聽聽聽 褰撴垜浠紩鍏ョ涓夋柟jar鍖呯殑鏃跺€欙紝闅惧厤浼氬紩鍏ヤ紶閫掓€т緷璧栵紝鏈変簺鏃跺€欒繖鏄ソ浜嬶紝鐒惰€屾湁浜涙椂鍊欐垜浠笉闇€瑕佸叾涓殑涓€浜涗紶閫掓€т緷璧?/p>
姣斿涓婁緥涓殑椤圭洰锛屾垜浠笉鎯冲紩鍏ヤ紶閫掓€т緷璧朿ommons-logging锛屾垜浠彲浠ヤ娇鐢╡xclusions鍏冪礌澹版槑鎺掗櫎渚?璧栵紝exclusions鍙互鍖呭惈涓€涓垨鑰呭涓猠xclusion瀛愬厓绱狅紝鍥犳鍙互鎺掗櫎涓€涓垨鑰呭涓紶閫掓€т緷璧栥€傞渶瑕佹敞鎰忕殑鏄紝澹版槑exclusions 鐨勬椂鍊欏彧闇€瑕乬roupId鍜宎rtifactId锛岃€屼笉闇€瑕乿ersion鍏冪礌锛岃繖鏄洜涓哄彧闇€瑕乬roupId鍜宎rtifactId灏辫兘鍞竴瀹氫綅渚濊禆 鍥句腑鐨勬煇涓緷璧栥€傛崲鍙ヨ瘽璇达紝Maven瑙f瀽鍚庣殑渚濊禆涓紝涓嶅彲鑳藉嚭鐜癵roupId鍜宎rtifactId鐩稿悓锛屼絾鏄痸ersion涓嶅悓鐨勪袱涓緷璧栥€?/p>
聽濡備笅鏄竴涓帓闄や緷璧栫殑渚嬪瓙锛?/p>
- <dependency>聽聽聽聽
- 聽聽聽聽聽<groupId>org.springframework</groupId>聽聽
- 聽聽聽聽聽<artifactId>spring-core</artifactId>聽聽
- 聽聽聽聽聽<version>2.5.6</version>聽聽
- 聽聽聽聽聽<exclusions>聽聽
- 聽聽聽聽聽聽聽聽聽聽聽<exclusion>聽聽聽聽聽聽
- 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<groupId>commons-logging</groupId>聽聽聽聽聽聽聽聽聽聽
- 聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽<artifactId>commons-logging</artifactId>聽聽
- 聽聽聽聽聽聽聽聽聽聽聽</exclusion>聽聽
- 聽聽聽聽聽</exclusions>聽聽
- </dependency>聽聽
聽聽
聽5. 渚濊禆褰掔被
聽濡傛灉鎴戜滑椤圭洰涓敤鍒板緢澶氬叧浜嶴pring Framework鐨勪緷璧栵紝瀹冧滑鍒嗗埆鏄痮rg.springframework:spring-core:2.5.6, org.springframework:spring-beans:2.5.6,org.springframework:spring- context:2.5.6,瀹冧滑閮芥槸鏉ヨ嚜鍚屼竴椤圭洰鐨勪笉鍚屾ā鍧椼€傚洜姝わ紝鎵€鏈夎繖浜涗緷璧栫殑鐗堟湰閮芥槸鐩稿悓鐨勶紝鑰屼笖鍙互棰勮锛屽鏋滃皢鏉ラ渶瑕佸崌绾pring Framework锛岃繖浜涗緷璧栫殑鐗堟湰浼氫竴璧峰崌绾с€傚洜姝わ紝鎴戜滑搴旇鍦ㄤ竴涓敮涓€鐨勫湴鏂瑰畾涔夌増鏈紝骞朵笖鍦╠ependency澹版槑寮曠敤杩欎竴鐗堟湰锛岃繖涓€鍦?Spring Framework鍗囩骇鐨勬椂鍊欏彧闇€瑕佷慨鏀逛竴澶勫嵆鍙€?/p>
- <project聽xmlns="http://maven.apache.org/POM/4.0.0"聽xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"聽聽
- 聽聽聽聽xsi:schemaLocation="http://maven.apache.org/POM/4.0.0聽http://maven.apache.org/xsd/maven-4.0.0.xsd">聽聽
- 聽聽聽聽<modelVersion>4.0.0</modelVersion>聽聽
- 聽聽
- 聽聽聽聽<groupId>com.mycompany.app</groupId>聽聽
- 聽聽聽聽<artifactId>my-app-simple</artifactId>聽聽
- 聽聽聽聽<version>0.0.1-SNAPSHOT</version>聽聽
- 聽聽聽聽<packaging>jar</packaging>聽聽
- 聽聽聽聽<name>my-app-simple</name>聽聽
- 聽聽聽聽<properties>聽聽
- 聽聽聽聽聽聽聽聽<springframework.version>2.5.6</springframework.version>聽聽
- 聽聽聽聽</properties>聽聽
- 聽聽
- 聽聽聽聽<dependencies>聽聽
- 聽聽聽聽聽聽聽聽<dependency>聽聽
- 聽聽聽聽聽聽聽聽聽聽聽聽<groupId>junit</groupId>聽聽
- 聽聽聽聽聽聽聽聽聽聽聽聽<artifactId>junit</artifactId>聽聽
- 聽聽聽聽聽聽聽聽聽聽聽聽<version>3.8.1</version>聽聽
- 聽聽聽聽聽聽聽聽聽聽聽聽<scope>test</scope>聽聽
- 聽聽聽聽聽聽聽聽</dependency>聽聽
- 聽聽
- 聽聽聽聽聽聽聽聽<dependency>聽聽
- 聽聽聽聽聽聽聽聽聽聽聽聽<groupId>org.springframework</groupId>聽聽
- 聽聽聽聽聽聽聽聽聽聽聽聽<artifactId>spring-core</artifactId>聽聽
- 聽聽聽聽聽聽聽聽聽聽聽聽<version>${springframework.version}</version>聽聽
- 聽聽聽聽聽聽聽聽</dependency>聽聽
- 聽聽聽聽聽聽聽聽<dependency>聽聽
- 聽聽聽聽聽聽聽聽聽聽聽聽<groupId>org.springframework</groupId>聽聽
- 聽聽聽聽聽聽聽聽聽聽聽聽<artifactId>spring-beans</artifactId>聽聽
- 聽聽聽聽聽聽聽聽聽聽聽聽<version>${springframework.version}</version>聽聽聽聽聽聽聽聽聽聽聽聽聽
- 聽聽聽聽聽聽聽聽</dependency>聽聽
- 聽聽聽聽</dependencies>聽聽
- </project>聽聽
聽
6. 鍦‥clipse涓鐞嗕緷璧?/strong>
瀹夎濂絤2eclipse涔嬪悗锛堢2璇炬湁璇︾粏璁茶В锛夊氨鍙互鐢╡clipse鏉ョ鐞嗕緷璧栥€?/p>
濡傚浘锛屽湪璇ラ」鐩殑pom.xml涓偣鍑籇ependency Hierarchy鍙互鐪嬪埌渚濊禆鏍?
聽
聽鐐瑰嚮Dependencies鍙互娣诲姞鏂扮殑渚濊禆锛岀偣鍑婚€夋嫨涓€涓緷璧栵紝鐐瑰嚮remove鍙互鍒犻櫎锛岀偣鍑籄dd鍙互鏂板涓€涓緷璧栵紝濡傚浘锛?br>
聽
濡備笅鍥撅紝鎼滅礌org.springframework锛堟澶勬槸浠嶮aven涓績浠撳簱杩涜鎼滅储锛夛紝閫夋嫨浣犳兂瑕佺殑妯″潡鍜岀増鏈紝鐐瑰嚮OK鍗冲彲锛?/p>
聽
- 上一篇:Action 接受参数的3中形式
- 下一篇:ffmpeg函数引见