1. 程式人生 > 實用技巧 >maven構建的專案相關的命令

maven構建的專案相關的命令

一. mvn -v 檢視maven的版本資訊

二 .與maven構建的專案相關的命令

1. clean (使用最多)
*. 清理(刪掉)專案編譯資料夾target 的命令
*. 注意: clean命令只是單純的刪除target 資料夾, 並不會把本地倉庫中的成果物一併刪除

2. compile
*. 用來將maven專案進行編譯 比如: .java -- 》 .class

注意:如報錯可以將mvn complie命令替換為mvn compiler:compile命令執行
3. test 命令
*. 對我們的專案進行編譯
*. 會執行專案中test目錄下以 xxxxTest.java 結尾的所有測試程式碼
說明: 該命令多用於單元測試

4. package (使用最多)
*用來對我們的專案進行打包, 成果物: jar war / 所在目錄: 專案target 資料夾下
5. install
*. 安裝的意思
*. 它會將專案編譯, 打包後的成果物, 存放到本地倉庫中

特別注意: 上述五個命令均與maven專案有關, maven專案根目錄下必有pom.xml, 執行命令時必須在pom.xml 所在的資料夾
下執行, 才能正確處理。

其他:

Maven命令列使用:mvn clean package(打包)

先把命令列切換到Maven專案的根目錄,比如:/d/xxxwork/java/maven-test,然後執行命令:

mvn clean package

執行結果如下:

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building rtp-front 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:clean (default
-clean) @ rtp-front --- [INFO] Deleting D:\xxxwork\Java\maven-test\target [INFO] [INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ rtp-front --- [WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent! [INFO] Copying 0 resource [INFO] [INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ rtp-front --- [INFO] Changes detected - recompiling the module! [WARNING] File encoding has not been set, using platform encoding GBK, i.e. build is platform dependent! [INFO] Compiling 13 source files to D:\CtripWork\Java\maven-test\target\classes [WARNING] /D:/xxxwork/Java/maven-test/src/main/java/ReadOnly.java: 某些輸入檔案使用了未經檢查或不安全的操作。 [WARNING] /D:/xxxwork/Java/maven-test/src/main/java/ReadOnly.java: 有關詳細資訊, 請使用 -Xlint:unchecked 重新編譯。 [INFO] [INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ rtp-front --- [WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent! [INFO] skip non existing resourceDirectory D:\xxxwork\Java\maven-test\src\test\resources [INFO] [INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ rtp-front --- [INFO] Nothing to compile - all classes are up to date [INFO] [INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ rtp-front --- [INFO] No tests to run. [INFO] [INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ rtp-front --- [INFO] Building jar: D:\xxxwork\Java\maven-test\target\rtp-front-1.0-SNAPSHOT.jar [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 2.284 s [INFO] Finished at: 2016-11-14T15:36:55+08:00 [INFO] Final Memory: 15M/77M [INFO] ------------------------------------------------------------------------

執行順序:

1、使用清理外掛:maven-clean-plugin:2.5執行清理刪除已有target目錄(版本2.5);

2、使用資源外掛:maven-resources-plugin:2.6執行資原始檔的處理(版本2.6);

3、使用編譯外掛:maven-compiler-plugin:3.1編譯所有原始檔生成class檔案至target\classes目錄下(版本3.1);

4、使用資源外掛:maven-resources-plugin:2.6執行測試資原始檔的處理(版本2.6);

5、使用編譯外掛:maven-compiler-plugin:3.1編譯測試目錄下的所有原始碼(版本3.1);

6、使用外掛:maven-surefire-plugin:2.12執行測試用例(版本2.12);

7、使用外掛:maven-jar-plugin:2.4對編譯後生成的檔案進行打包,包名稱預設為:artifactId-version,比如本例生成的jar檔案:rtp-front-1.0-SNAPSHOT,包檔案儲存在target目錄下(這個生成的包不能在命令列中直接執行,因為我們還沒有入口類配置到Manifest資源配置檔案中去,後續會闡述)。

備註:

不管是compile、package還是install等前三個步驟都是必不可少的。

https://www.cnblogs.com/qing-gee/p/11124359.html