一:常用命令:
清空:mvn clean編譯:mvn compile打包:mvn package打包并安裝到本地倉庫: mvn install打包并部署到遠(yuǎn)程倉庫: mvn deploy
只打包不測試:mvn -Dtest packagemvn -Dmaven.test.skip=true packagesnapshots包強(qiáng)制更新: mvn package -u
傳遞參數(shù):mvn package -DskipUserTest=true
分析項(xiàng)目的依賴信息:mvn dependency:analyze 或 mvn dependency:tree
清除eclipse系統(tǒng)設(shè)置:mvn eclipse:clean生成eclipse項(xiàng)目文件: mvn eclipse:eclipse
清除idea系統(tǒng)設(shè)置:mvn idea:clean生成idea項(xiàng)目:mvn idea:idea
離線打包: mvn package -o下載項(xiàng)目里所依賴的jar包的源碼:mvn dependency:sources
二: 配置文件
setting.xml:
pom.xml:本地pom文件
pom-4.0.0.xml :超級pom文件
文件地址apache-maven-2.2.1\lib\maven-2.2.1-uber\org\apache\maven\project\pom-4.0.0.xmlapache-maven-2.2.1\conf\setting.xml
maven坐標(biāo)是通過一些元素定義的为障,而classifier是不能直接定義的。(1).groupId,定義當(dāng)前maven項(xiàng)目隸屬的實(shí)際項(xiàng)目蚕钦。(2).artifactId,定義實(shí)際項(xiàng)目中的一個(gè)maven項(xiàng)目(模塊)(3).version,定義maven當(dāng)前所處的版本球恤。(4).packaging,定義maven項(xiàng)目的打包方式凌简。
maven依賴調(diào)解的兩個(gè)原則。第一原則是:路徑最近者優(yōu)先。第二原則是:第一聲明者優(yōu)先便监。
三:profile配置
Profile 的作用是允許你在項(xiàng)目文件(pom.xml)里定義若干個(gè) profile 段,然后在編譯時(shí)選擇其中的一個(gè)用于覆蓋項(xiàng)目文件原先的定義碳想。在編譯項(xiàng)目時(shí)烧董,可以使用 -P 參數(shù)指定需要使用的 profile 的 id,假如不指定 -P 參數(shù)的話,則會使用 activeByDefault=true 的一項(xiàng)胧奔。
filtering替換:filtering功能主要用來替換項(xiàng)目中的資源文件(.xml逊移、.properties)當(dāng)中的${...}
spring的property-placeholder替換:指spring容器執(zhí)行后替換資源文件(*.xml)當(dāng)中的${...}
四:maven 與倉庫
一:倉庫分類:1.本地倉庫:2.遠(yuǎn)程倉庫:中央倉庫 私服 其它公共庫3.中央倉庫id=central,可以被蓋;
二:nexus倉庫實(shí)現(xiàn):nexus的倉庫類型分為以下四種:1.group: 倉庫組 --虛庫:組合其它倉庫2.hosted:宿主 --Releases Snapshots3.proxy:代理 --代理遠(yuǎn)程公共倉庫http://repo1.maven.org/maven24.virtual:虛擬 --虛庫:link到其實(shí)(非group)倉庫
nexus內(nèi)置倉庫
Public Repositories:將其它倉庫聚合并通過一致的地址提供服務(wù)
Central: 用來代理maven中央倉庫中發(fā)布版本構(gòu)件的倉庫
Releases: 用來部署管理內(nèi)部的發(fā)布版本構(gòu)件的宿主類型倉庫
Snapshots:用來部署管理內(nèi)部的快照版本構(gòu)件的宿主類型倉庫
五:插件
一:常用插件:
1.maven-surefire-plugin 與 testNGtestNG 比JUnit 的優(yōu)勢:支持測試組
使用方式@Test(groups={"util","midium"})
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><version>2.20</version><configuration><groups>util,midium</groups></configuration></plugin>
官方使用說明:http://maven.apache.org/surefire/maven-surefire-plugin/examples/skipping-tests.html2.versions-maven-pluginhttp://www.mojohaus.org/versions-maven-plugin/examples/use-releases.html
二.自定義插件:
統(tǒng)計(jì)代碼行:maven-loc-plugin: https://github.com/lesline/maven-loc-plugin替換pom內(nèi)容: maven-loc-plugin: https://github.com/lesline/maven-pom-plugin
使用命令:mvn com.juvenxu.mvnbook:maven-loc-plugin:0.0.1-SNAPSHOT:countmvn com.eloancn:maven-pom-plugin:0.0.5:release
可選方案:
1龙填、dependencyManagement 中 加dependency時(shí) type=import 胳泉,可以引入相同的配置2、mvn clean deploy -pl center-acct-api:只deploy center-acct-api3岩遗、maven-surefire-plugin 與 testNG
作者:lesline鏈接:http://www.reibang.com/p/50f3f153b3d6來源:簡書著作權(quán)歸作者所有扇商。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處宿礁。