Maven 鍑虹幇鍒扮幇鍦ㄤ篃鏈夊緢闀挎椂闂翠簡錛屽垵璇嗗畠鐨勬劅瑙夎嚦浠婁粛娓呮櫚鐨勫嵃鍦ㄨ剳嫻蜂腑銆傜幇鍦ㄦ兂鏉ワ紝褰撴椂浠?Ant 縐繪儏 Maven 鐨勬兂娉曞叾瀹炲緢鏈寸礌錛屽氨鏄洜涓?Maven 鍙互浠ョ綉绔欑殑褰㈠紡灞曠幇涓庨」鐩浉鍏崇殑淇℃伅錛屽寮鍙戜漢鍛樺垪琛ㄣ佸悇縐?Report銆傝繖縐嶆柟寮忎負欏圭洰鐨勬瀯寤哄甫鏉ヤ簡鏋佸ぇ鐨勬柟渚匡紝灝ゅ叾鏄?Report 鐨勩傝瘯鎯沖浜庝駭鐢熺殑 Junit-Report銆丣avaDoc銆丆heckStyle銆丳MD 絳夋姤鍛婏紝濡傛灉娌℃湁涓涓粺涓鐨勫叆鍙o紝姣忔鍒囨崲鐩綍鏄涔堜護浜哄帉鐑︾殑浜嬫儏錛?/p>
Maven 鏃犵枒鏄浉褰撴垚鍔熺殑錛岃繖涓鐐逛粠瓚婃潵瓚婂鐨勫紑婧愰」鐩紑濮嬩嬌鐢?Maven 灝卞彲浠ョ湅鍑恒侻aven 鍙栧緱鎴愬姛鐨勫師鍥犲緢綆鍗曪細鍦ㄧ畝鍖栨瀯寤鴻剼鏈殑鍚屾椂錛屽姛鑳藉茍娌℃湁緙╂按錛屽弽鑰屾湁鎵澧炲己錛涙彁渚涙眹闆嗛」鐩俊鎭殑宸ュ叿錛屽茍浠ョ浉褰撳弸濂界殑鏂瑰紡鍛堢幇錛涗赴瀵岀殑鎻掍歡綆鍖栦簡宸ヤ綔銆傚姝ゆ湁鍔涚殑宸ュ叿鍑虹幇錛岃嚜鐒舵槸浜夌浉浣跨敤銆?/p>
濡備粖 Maven2 宸茬粡鎺ㄥ嚭錛孧aven 鐨勫畼鏂圭綉绔欑О錛孧aven2 鐩稿浜?Maven1 鏄竴涓浉褰撳ぇ鐨勮漿鍙橈紝鐢氳嚦涓嶆儨鐗虹壊鍏煎鎬ф潵杈懼埌榪欎竴鐩殑銆傦紙涓轟簡 Maven1 鐨勭敤鎴風潃鎯籌紝Maven1 浠嶅湪緇х畫浠栫殑浣垮懡銆傦級濡傛澶х殑鍙樺姩鍒板簳鎹㈡潵浜嗕粈涔堟牱鐨勭粨鏋滐紵
姣旇搗 Maven1 閭d笉鎬ヤ笉鎱㈢殑榪愯閫熷害錛孧aven2鍦ㄩ熷害涓婃湁浜嗚川鐨勯璺冿紝鐢氳嚦涓嶢nt鐩告瘮涔熸涓嶉婅壊錛堝綋鐒訛紝涓嬭澆涓嶇畻錛夈傞櫎姝や箣澶栵紝"綆鍖栧伐浣滐紝浣跨敤涓氱晫鍏鐨勬渶浣?jīng)_疄璺?涔熸槸鏄?Maven2 鐨勫彟涓澶т富棰橈紝鍏朵粬鐨勬柊鐗規(guī)ф棤澶勪笉鍦ㄤ綋鐜?Maven2 涓虹畝鍖栧伐浣滆屽仛鍑虹殑鍔姏銆?/p>
Maven1 鍜?Maven2 涓昏閰嶇疆鏂囦歡鐨勫姣旓細
POM鏄疢aven鐨勬牳蹇冨璞℃ā鍨嬶紝鍦∕aven2涓璓OM宸茬敱project.xml杞Щ鍒皃om.xml涓嬌鐢紝鐗堟湰涔熺敱3鍗囩駭涓?銆傚浜庨」鐩紝涓鑸彧闇瑕乸om.xml灝辮浜嗐?/p>
鍦∕aven2涓笉闇瑕佷篃涓嶆彁鍊′嬌鐢╩aven.xml錛屽師鍥犲涓嬶細
濡傛灉浠嶆湡鏈涜兘澶熶嬌鐢ㄧ被浼糾aven.xml鐨勫姛鑳斤紝濡?lt;preGoal>錛岃鍙傝?a style="color: #5c81a7; ">Inserting non-standard build steps using preGoals and postGoals銆?/a>
鍦∕aven2涓紝閰嶇疆浣跨敤settings.xml錛屽畠鍙栦唬浜嗗師鏈夌殑project.properties鍜宐uild.properties銆傞厤緗湪Maven2涓瓨鍦ㄤ袱縐嶇駭鍒細
鍦╯ettings.xml涓彲浠ラ厤緗紝濡傛湰鍦癛epository銆乸roxy絳夌瓑錛屽叧浜巗ettings.xml鐨勭粨鏋勫彲浠ヤ粠Maven鐨勫畼鏂圭綉绔欎笂鑾峰彇銆?/p>
鍦∕aven2涓紝緙栧啓plugin鐨勮璦鐢眏elly鍙樻洿涓篔ava鍜孊eanShell銆侸ava鍦ㄩ熷害涓婃洿鏈変紭鍔匡紝鑰屼笖寮鍙戜漢鍛樼殑鐔熸?zhèn)壗E嬪害鏇撮珮銆傚浜庡叾浠栫殑嫻佽鑴氭湰錛屽groovy錛孧aven鐨勫畼鏂圭綉绔欑殑鎰忚鏄紝絳夊緟鍏舵洿鎴愮啛鏃跺啀鑰冭檻
銆?/span>濂界殑鐩綍緇撴瀯鍙互浣垮紑鍙戜漢鍛樻洿瀹規(guī)槗鐞嗚В欏圭洰錛屼負浠ュ悗鐨勭淮鎶ゅ伐浣滀篃鎵撲笅鑹ソ鐨勫熀紜銆侻aven2鏍規(guī)嵁涓氱晫鍏鐨勬渶浣崇洰褰曠粨鏋勶紝涓哄紑鍙戣呮彁渚涗簡緙虹渷鐨勬爣鍑嗙洰褰曟ā鏉褲侻aven2鐨勬爣鍑嗙洰褰曠粨鏋勫涓嬶細
浣跨敤鐩綍妯℃澘錛屽彲浠ヤ嬌pom.xml鏇寸畝媧併傚洜涓篗aven2宸茬粡鏍規(guī)嵁緙虹渷鐩綍錛岄瀹氫箟浜嗙浉鍏崇殑鍔ㄤ綔錛岃屾棤闇浜哄伐鐨勫共棰勩備互resources鐩綍涓轟緥錛?/p>
榪欎簺鍔ㄤ綔鍦?Maven1 涓紝鏄渶瑕佸湪 maven.xml 涓嬌鐢?lt;preGoal>鎴?lt;postGoal>鏉ュ畬鎴愮殑銆傚浠婏紝瀹屽叏涓嶉渶瑕佸湪pom.xml涓寚瀹氬氨鑳藉鑷姩瀹屾垚銆傚湪src鍜宼est閮戒嬌鐢╮esources錛屾柟渚挎瀯寤哄拰嫻嬭瘯錛岃繖縐嶆柟寮忔湰灝卞凡鏄墠浜虹殑緇忛獙銆傞氳繃浣跨敤Maven2錛屼嬌榪欎釜緇忛獙鍦ㄥ紑鍙戝洟闃熶腑寰楀埌鏅強銆?/p>
鍒涘緩鏍囧噯鐩綍妯℃澘錛屽彲浠ラ氳繃濡備笅鍛戒護錛?/p>
mvn archetype:create -DgroupId=com.codeline.commons -DartifactId=codelineCommons |
groupId鍜宎rtifactId鐨勫惈涔変笌Maven1涓殑鍚箟涓鏍鳳紝鍙傛暟artifactId鐨勫間細浣滀負欏圭洰鏍圭洰褰曠殑鍚嶅瓧銆傞櫎浜嗗緩绔嬬浉搴旂殑鐩綍涔嬪錛孧aven2榪樹細鍒涘緩緙虹渷鐨刾om.xml銆?/p>
Maven2涔熻冭檻鍒幫細涓嶅悓綾誨瀷鐨勯」鐩渶瑕佹嫢鏈変笉鍚岀殑鐩綍緇撴瀯銆傚鍒涘緩web欏圭洰錛屽彲浠ヤ嬌鐢ㄥ懡浠わ細
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp |
鍦∕aven2涓湁浜嗘槑紜殑鐢熷懡鍛ㄦ湡姒傚康錛岃屼笖閮芥彁渚涗笌涔嬪搴旂殑鍛戒護錛屼嬌寰楅」鐩瀯寤烘洿鍔犳竻鏅版槑浜嗐備富瑕佺殑鐢熷懡鍛ㄦ湡闃舵錛?/p>
濡傛灉瑕佹墽琛岄」鐩紪璇戯紝閭d箞鐩存帴杈撳叆錛歮vn compile鍗沖彲錛屽浜庡叾浠栫殑闃舵鍙互綾繪帹銆傞樁孌典箣闂存槸瀛樺湪渚濊禆鍏崇郴錛坉ependency錛夌殑錛屽test渚濊禆test-compile銆傚湪鎵цmvn test鏃訛紝浼氬厛榪愯mvn test-compile錛岀劧鍚庢墠鏄痬vn test銆?/p>
鍦≒OM 4涓紝<dependency>涓繕寮曞叆浜?lt;scope>錛屽畠涓昏綆$悊渚濊禆鐨勯儴緗層傜洰鍓?lt;scope>鍙互浣跨敤5涓鹼細
<scope>鐨勪嬌鐢ㄤ婦渚嬶細
<dependency> <groupId>hibernate</groupId> <artifactId>hibernate</artifactId> <version>3.0.3</version> <scope>test</scope> </dependency> |
鍦∕aven1涓紝闇瑕佹妸渚濊禆鎵闇瑕佺殑鍖呬篃涓騫跺垪鍑恒傝繖瀵逛簬浣跨敤綾諱技濡侶ibernate鐨勭敤鎴鋒潵璇存墍鎿嶇殑蹇冨お澶氫簡錛岃屼笖涔熶笉鏂逛究銆傚湪Maven2涓疄鐜頒簡浼犻掍緷璧栵紝濡傛瀵逛簬Hibernate鎵渚濊禆鐨勫寘錛孧aven2浼氳嚜鍔ㄤ笅杞斤紝寮鍙戜漢鍛樺彧闇鍏沖績Hibernate鍗沖彲銆?/p>
娉ㄦ剰錛氬彧鏈夊緱鍒癕aven鏀寔鐨勪緷璧栵紝閫氬父鏄痯lugin褰㈠紡鍑虹幇錛屾墠鑳借幏寰楄繖涓壒鎬с傝屼笖瀵逛簬涓浜涜佺殑plugin錛屽彲鑳界敱浜庢椂闂寸殑鍏崇郴涓嶆敮鎸佷紶閫掍緷璧栥傚鑷沖皯鍦∕aven 2.0.1涓紝瀵逛簬Hibernate 2.1.2錛屼粛鐒墮渶瑕佹樉寮忓垪鍑篐ibernate 2.1.2鎵渚濊禆鐨勫寘銆?/p>
![]() ![]() |
![]()
|
瀹夎Maven2鐨勬楠ら潪甯哥畝鍗曪細棣栧厛浠嶮aven瀹樻柟緗戠珯涓嬭澆鐩稿簲鐨勮蔣浠跺寘錛岀洰鍓嶆槸Maven 2.0.1錛涚劧鍚庤В鍘嬶紝騫惰緗幆澧冨彉閲廙2_HOME= Maven2鐨勮В鍘嬪畨瑁呯洰褰曪紱鏈鍚庡皢%M2_HOME%/bin娣誨姞鍒皃ath涓紝鏂逛究Maven鍦ㄤ換浣曠洰褰曚笅榪愯銆?/p>
Maven2鐨勮繍琛屽懡浠ゆ槸mvn錛屼嬌鐢╩vn -h鍙互鑾峰緱鐩稿叧鐨勫府鍔╀俊鎭傚父鐢ㄦ儏褰細
鎴栬鏄敱浜庡垰鍒氭帹鍑虹殑緙樻晠錛孧aven2鐩墠榪樻槸鏈変竴浜涗笉灝藉浜烘剰鐨勫湴鏂廣傚挨鍏舵槸Report閮ㄥ垎鐨刾lugin錛屾湁鐨勬槸鍥犱負鐩墠榪樻病鏈夛紝濡俲unit-report銆傛湁鐨勫垯鏄竴浜涜帿鍚嶅叾濡欑殑闂錛屽checktyle鍜宲md錛屽湪鏈湴l(fā)ocale涓嬮兘鏃犳硶姝e父宸ヤ綔銆備互pmd涓句緥錛屽湪浜х敓PMD鎶ュ憡鏃朵細鎶涘嚭濡備笅寮傚父錛?/p>
java.util.MissingResourceException: Can't find bundle for base name pmd-report, locale zh_CN at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle .java:839) at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:808) at java.util.ResourceBundle.getBundle(ResourceBundle.java:702) …… |
騫歌繍鐨勬槸錛孧aven2涓鍑虹幇灝卞鍙楀叧娉紝瑕佷笉浜嗗闀挎椂闂達紝璇稿姝ょ被鐨勯棶棰樺簲璇ュ氨浼氬緢蹇В鍐熾?/p>
![]() ![]() |
![]()
|
Maven2鍦∕aven1鐨勪紭鍔垮熀紜涔嬩笂錛屽張鍚戝墠榪堣繘浜嗕竴澶ф銆傚畠鎻愪緵鐨勮繖浜涙柊鐗規(guī)уぇ澶у湴緙╃煭浜嗗紑鍙戠鐞嗕腑鐨勫伐浣滈噺錛屼嬌寰楀紑鍙戜漢鍛樺皢綺懼姏闆嗕腑鍦ㄥ疄闄呯殑涓氬姟闂涓娿傝屼笖榪欎簺鏂扮壒鎬у浜庣畝鍖栦嬌鐢紝鏅強鏈浣?jīng)_疄璺碉紝涔熻搗鍒頒簡縐瀬鐨勪綔鐢ㄣ?/p>