一、Maven常用命令及其介紹
描述 | |
mvn clean | 對項目進行清理,刪除target目錄下編譯的內容 |
mvn compile | 編譯項目源代碼 |
mvn test | 對項目進行運行測試 |
mvn package | 打包文件并存放到項目的target目錄下,打包好的文件通常都是編譯后的class文件 |
mvn install | 在本地倉庫生成倉庫的安裝包,可供其他項目引用,同時打包后的文件放到項目的target目錄下 |
二、常用命令使用場景舉例
1. mvn clean package
依次執(zhí)行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7個階段package命令完成了項目編譯、單元測試、打包功能,但沒有把打好的可執(zhí)行jar包(war包或其它形式的包)布署到本地maven倉庫和遠程maven私服倉庫
2. mvn clean install
依次執(zhí)行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8個階段install命令完成了項目編譯、單元測試、打包功能,同時把打好的可執(zhí)行jar包(war包或其它形式的包)布署到本地maven倉庫,但沒有布署到遠程maven私服倉庫
擴展:將本地jar部署到本地maven倉庫,示例
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.0.1.2 -Dpackaging=jar -Dfile=E:Javaojdbc7.jar
命令注解:
mvn install:install-file-Dfile=jar包存放的位置-DgroupId=pom文件里的groupId-DartifactId=pom文件里的artifactId-Dversion=pom文件里的version-Dpackaging=jar
3. mvn clean deploy
依次執(zhí)行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9個階段deploy命令完成了項目編譯、單元測試、打包功能,同時把打好的可執(zhí)行jar包(war包或其它形式的包)布署到本地maven倉庫和遠程maven私服倉庫
無論部署到私服還是公有倉庫,都需要在項目中配置好
三、常見問題
1. mvn clean install 和 mvn install 的區(qū)別
根據maven在執(zhí)行一個生命周期命令時,理論上講,不做mvn install 得到的jar包應該是最新的,除非使用其他方式修改jar包的內容,但沒有修改源代碼平時可以使用mvn install ,不使用clean會節(jié)省時間,但是最保險的方式還是mvn clean install,這樣可以生成最新的jar包或者其他包
2. maven兩種跳過單元測試方法的區(qū)別
# 推薦mvn package -Dmaven.test.skip=true
不但跳過了單元測試的運行,同時也跳過了測試代碼的編譯
mvn package -DskipTests
跳過單元測試,但是會繼續(xù)編譯。如果沒時間修改單元測試的bug,或者單元測試編譯錯誤,則使用第一種,不要使用第二種
無論風雨,和自己一決勝負吧!盤它