首頁 > 軟體

Maven常用命令詳解

2020-06-16 16:13:13

Apache Maven是一個軟體專案管理和理解工具。基於專案物件模型(POM)的概念,Maven可以從一個中心資訊管理專案的構建,報告和文件。

Maven優點:

  • 約定優於設定
  • 測試支援
  • 構建簡單
  • 外掛豐富

Maven常用命令:

1. 建立Maven的普通Java專案:
  mvn archetype:create
  -DgroupId=packageName
  -DartifactId=projectName 

2. 建立Maven的Web專案: 
    mvn archetype:create
    -DgroupId=packageName   
    -DartifactId=webappName
    -DarchetypeArtifactId=maven-archetype-webapp   
3. 編譯原始碼: mvn compile
4. 編譯測試程式碼:mvn test-compile   
5. 執行測試:mvn test 
6. 產生site:mvn site 
7. 打包:mvn package 
8. 在本地Repository中安裝jar:mvn install
9. 清除產生的專案:mvn clean 
10. 生成eclipse專案:mvn eclipse:eclipse 
11. 生成idea專案:mvn idea:idea 
12. 組合使用goal命令,如只打包不測試:mvn -Dtest package 
13. 編譯測試的內容:mvn test-compile 
14. 只打jar包: mvn jar:jar 
15. 只測試而不編譯,也不測試編譯:mvn test -skipping compile -skipping test-compile
      ( -skipping 的靈活運用,當然也可以用於其他組合命令) 
16. 清除eclipse的一些系統設定:mvn eclipse:clean 

ps:
一般使用情況是這樣,首先通過cvs或svn下載程式碼到本機,然後執行mvn eclipse:eclipse生成ecllipse專案檔案,然後匯入到eclipse就行了;修改程式碼後執行mvn compile或mvn test檢驗,也可以下載eclipse的maven外掛。

mvn -version/-v  顯示版本資訊
mvn archetype:generate        建立mvn專案
mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app  建立mvn專案

mvn package      生成target目錄,編譯、測試程式碼,生成測試報告,生成jar/war檔案
mvn jetty:run    執行專案於jetty上,
mvn compile      編譯
mvn test            編譯並測試
mvn clean        清空生成的檔案
mvn site          生成專案相關資訊的網站
mvn -Dwtpversion=1.0 eclipse:eclipse        生成Wtp外掛的Web專案
mvn -Dwtpversion=1.0 eclipse:clean        清除Eclipse專案的設定資訊(Web專案)

mvn -DskipTests,不執行測試用例,但編譯測試用例類生成相應的class檔案至target/test-classes下。

mvn -Dmaven.test.skip=true,不執行測試用例,也不編譯測試用例類。
mvn eclipse:eclipse  將專案轉化為Eclipse專案

在應用程式用使用多個儲存庫
<repositories>   
    <repository>     
        <id>Ibiblio</id>     
        <name>Ibiblio</name>     
        <url>http://www.ibiblio.org/maven/</url>   
    </repository>   
    <repository>     
        <id>PlanetMirror</id>     
        <name>Planet Mirror</name>     
        <url>http://public.planetmirror.com/pub/maven/</url>   
    </repository> 
</repositories>

mvn deploy:deploy-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:client-0.1.0.jar -DrepositoryId=maven-repository-inner -Durl=ftp://xxxxxxx/opt/maven/repository/

發布第三方Jar到本地庫中:
mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:client-0.1.0.jar
-DdownloadSources=true
-DdownloadJavadocs=true

mvn -e    顯示詳細錯誤 資訊.

mvn -U    強制更新依賴包

mvn -B    該參數列示讓Maven使用批次處理模式構建專案
mvn validate        驗證工程是否正確,所有需要的資源是否可用。
mvn test-compile    編譯專案測試程式碼。 。
mvn integration-test    在整合測試可以執行的環境中處理和發布包。
mvn verify        執行任何檢查,驗證包是否有效且達到品質標準。   
mvn generate-sources    產生應用需要的任何額外的原始碼,如xdoclet。

常用命令總結:

mvn -v 顯示版本
mvn help:describe -Dplugin=help 使用 help 外掛的  describe 目標來輸出 Maven Help 外掛的資訊。
mvn help:describe -Dplugin=help -Dfull 使用Help 外掛輸出完整的帶有引數的目標列
mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull 獲取單個目標的資訊,設定  mojo 引數和  plugin 引數。此命令列出了Compiler 外掛的compile 目標的所有資訊
mvn help:describe -Dplugin=exec -Dfull 列出所有 Maven Exec 外掛可用的目標
mvn help:effective-pom 看這個“有效的 (effective)”POM,它暴露了 Maven的預設設定

mvn archetype:create -DgroupId=org.sonatype.mavenbook.ch03 -DartifactId=simple -DpackageName=org.sonatype.mavenbook 建立Maven的普通java專案,在命令列使用Maven Archetype 外掛
mvn exec:java -Dexec.mainClass=org.sonatype.mavenbook.weather.Main Exec 外掛讓我們能夠在不往 classpath 載入適當的依賴的情況下,執行這個程式
mvn dependency:resolve 列印出已解決依賴的列表
mvn dependency:tree 列印整個依賴樹

mvn install -X 想要檢視完整的依賴蹤跡,包含那些因為衝突或者其它原因而被拒絕引入的構件,開啟 Maven 的偵錯標記執行
mvn install -Dmaven.test.skip=true 給任何目標新增maven.test.skip 屬性就能跳過測試
mvn install assembly:assembly 構建裝配Maven Assembly 外掛是一個用來建立你應用程式特有分發包的外掛

mvn jetty:run 呼叫 Jetty 外掛的 Run 目標在 Jetty Servlet 容器中啟動 web 應用
mvn compile 編譯你的專案
mvn clean install 刪除再編譯

mvn hibernate3:hbm2ddl 使用 Hibernate3 外掛構造資料庫

Maven庫:http://repo2.maven.org/maven2/

Maven依賴查詢:http://mvnrepository.com/


IT145.com E-mail:sddin#qq.com