maven 參數格式
maven 命令除了常用的幾個,大部分經常記不住,整理一下,方便查詢。
maven 命令的格式爲 mvn [plugin-name]:[goal-name],可以接受的參數如下,
-D 指定參數,如 -Dmaven.test.skip=true 跳過單元測試;
-P 指定 Profile 配置,可以用於區分環境;
-e 顯示maven運行出錯的信息;
-o 離線執行命令,即不去遠程倉庫更新包;
-X 顯示maven允許的debug信息;
-U 強制去遠程更新snapshot的插件或依賴,默認每天只更新一次。
常用maven命令
- 創建maven項目:mvn archetype:create
指定 group: -DgroupId=packageName
指定 artifact:-DartifactId=projectName
創建web項目:-DarchetypeArtifactId=maven-archetype-webapp - 創建maven項目:mvn archetype:generate
- 驗證項目是否正確:mvn validate
- maven 打包:mvn package
- 只打jar包:mvn jar:jar
- 生成源碼jar包:mvn source:jar
- 產生應用需要的任何額外的源代碼:mvn generate-sources
- 編譯源代碼: mvn compile
- 編譯測試代碼:mvn test-compile
- 運行測試:mvn test
- 運行檢查:mvn verify
- 清理maven項目:mvn clean
- 生成eclipse項目:mvn eclipse:eclipse
- 清理eclipse配置:mvn eclipse:clean
- 生成idea項目:mvn idea:idea
- 安裝項目到本地倉庫:mvn install
- 發佈項目到遠程倉庫:mvn:deploy
- 在集成測試可以運行的環境中處理和發佈包:mvn integration-test
- 顯示maven依賴樹:mvn dependency:tree
- 顯示maven依賴列表:mvn dependency:list
- 下載依賴包的源碼:mvn dependency:sources
- 安裝本地jar到本地倉庫:mvn install:install-file -DgroupId=packageName -DartifactId=projectName -Dversion=version -Dpackaging=jar -Dfile=path
Maven多模塊項目
SpringBoot+Maven多模塊項目(創建、依賴、打包可執行jar包部署測試)完整流程:
https://blog.csdn.net/baidu_41885330/article/details/81875395
mudule編譯、打包指定module
在多module的maven項目中,如果每次打包整個工程顯得有些冗餘和笨重。
例如A,B,P的繼承關係爲
P
|
—– A
|
—– B
即P包含A,B的module,每次打包P都會將A,B都打包。
假如我只修改了A模塊,那麼每次都要將B都一塊打包嗎?當然不是,maven提供了自定義參數:
-rf, --resume-from
Resume reactor from specified project
-pl, --projects
Build specified reactor projects instead of all projects
-am, --also-make
If project list is specified, also build projects required by the list
-amd, --also-make-dependents
If project list is specified, also build projects that depend on projects on the list
所以進入P目錄,輸入指令:
mvn install -pl A -am
或者指定profile
clean install -Dmaven.test.skip -P release-A -pl A -am
參考
http://blog.sonatype.com/2009/10/maven-tips-and-tricks-advanced-reactor-options/#.VpdK9Nwaa6M
https://blog.csdn.net/fqwgc8/article/details/50517821
https://www.jianshu.com/p/6f57c322e50e