總結自:https://www.cnblogs.com/ysocean/p/7416307.html#_label1及
https://blog.csdn.net/zhaojianting/article/details/80321488
maven常見指令
1、 mvn compile 編譯,將java源代碼編譯成class字節碼文件,存入target目錄下的classes
2、mvn test 測試test下的測試文件,並生成測試報告,存入target目錄
3、mvn clean 將target目錄刪除
4、mvn package 將項目編譯並打包(jar/war)至target目錄下
5、mvn install 將項目編譯並打包到本地倉庫,這樣其他項目引用本項目的jar包時不用去私服上下載jar包,直接從本地就可以拿到剛剛編譯打包好的項目的jar包,很靈活,避免每次都需要重新往私服發布jar包的痛苦。
6、mvn deploy 將項目編譯並打包到本地倉庫和遠程倉庫。
mvn package 流程: resources compile testResource testCompile test(單元測試) jar
mvn install 流程:。。。。。。。。。。。。。。。。。。。。。。。。。 install
mvn deploy 流程:。。。。。。。。。。。。。。。。。。。。。。。。。。。。。deploy
常見插件:
clean
maven-clean-plugin
清除target
resource
maven-resources-pligin
將項目需要的配置文件拷貝到指定目錄,默認是將src/main/resources下的文件拷貝到target下的classes目錄中。
resources插件一般不單獨執行,complie插件執行時會先調用resources插件。
compile
maven-resources-pligin+maven-compiler-plugin
test
maven-resources-pligin+maven-compiler-plugin+maven-surefire-plugin
maven-resources-pligin+maven-compiler-plugin與compile相同,但執行目標不同,即testCompile和testResources是把src\test\java下的代碼編譯成字節碼輸出到target\test-classes,同時把src\test\resources下的配置文件拷貝到target\test-classes。
package
有多種打包插件
maven-jar-plugin
把class文件、配置文件打成一個jar(war或其它格式)包。依賴包是不在jar里面的,需要建立lib目錄,且jar和lib目錄在同級目錄。
maven-assembly-plugin
這個插件可以把所有的依賴包都打入到可執行jar包。但是該插件有個bug會缺失spring的xds文件,導致無法運行jar,同時如果同級目錄還有其它可執行jar文件依賴可能會產生沖突。
maven-shade-plugin
所有的依賴包打入到可執行jar包,如果同級目錄有其它可執行jar,依賴可能會產生沖突,且運行jar時,有時會出現SF、DSA、RSA文件沖突的提示,需要排除META-INF目錄下的文件。