Maven系列(二):Maven經常使用命令

1.第一個命令

顯示版本信息:mvn -v/-version (一般用來檢查是否具備maven環境)web

2.建立Maven項目

  • 建立mvn項目:mvn archetype:generate
  • 使用internal元數據建立maven項目:
    mvn archetype:generate -DarchetypeCatalog=internal
  • 建立一個簡單的Java工程:mvn archetype:create -DgroupId=com.mycompany.example -DartifactId=Example

3.Eclipse相關

  • 將項目轉化爲Eclipse項目:mvn eclipse:eclipse(生成Eclipse項目必須的配置文件)
  • 清除Eclipse相關配置文件:mvn eclipse:clean
  • 生成Wtp插件的Web項目:mvn -Dwtpversion=1.0 eclipse:eclipse
  • 清除Eclipse項目的配置信息(Web項目):mvn -Dwtpversion=1.0 eclipse:clean

4.編譯Maven項目

  • 編譯mvn項目:mvn compile
  • 編譯項目測試代碼:mvn test-compile

5.測試Maven項目

  • 編譯並測試:mvn test
  • 只測試而不編譯,也不測試編譯:mvn test -skipping compile -skipping test-compile  ( -skipping 的靈活運用,固然也能夠用於其餘組合命令)

6.打包Maven項目

  • 打包Maven項目:mvn package(生成target目錄,編譯、測試代碼,生成測試報告,生成jar/war文件)
  • 清理並打包Maven項目:mvn clean package

7.清理Maven生成的文件

  • 清理生成的文件:mvn clean

8.其餘實用的經常使用命令

  • 生成項目相關信息的網站:mvn site
  • 顯示詳細錯誤信息:mvn -e
  • 驗證工程是否正確,全部須要的資源是否可用:mvn validate
  • 發佈第三方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(須要修改相應參數:-DgroupId、-DartifactId、-Dversion、-Dpackaging、-Dfile)

9.mvn help

  • 查看「有效的 (effective)」POM,它暴露了Maven的默認設置:mvn help:effective-pom
  • 使用Help插件的describe目標來輸出Maven Help插件的信息:mvn help:describe -Dplugin=help
  • 使用Help插件輸出完整的帶有參數的目標列:mvn help:describe -Dplugin=help -Dfull
  • 獲取單個目標的信息,設置mojo參數和plugin參數。此命令列出了Compiler 插件的compile 目標的全部信息:mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull
  • 列出全部Maven Exec 插件可用的目標:mvn help:describe -Dplugin=exec -Dfull

 

Maven經常使用命令詳解:apache

一、mvn archetype:generate 建立mvn項目app

可使用 mvn archetype:generate -DarchetypeCatalog=internaleclipse

archetypeCatalog表示插件使用的archetype元數據,默認值爲remote,local,即中央倉庫archetype元數據(http://repo1.maven.org/maven2/archetype-catalog.xml)加上插件內置元數據的和,因爲中央倉庫的archetype太多,致使這個列表太長,所以能夠本身指定僅用內置元數據(20個左右)webapp

首次運行時,mvn會從遠程"中央倉庫"下載一些必需的文件到"本地倉庫" - (若是你有興趣,能夠在等待下載過程當中,觀察一下"C:\Users\當前用戶名\.m2\repository"到底下載了些什麼)maven

下載完成後(下一篇會講解如何,在局域網環境中搭建「私服」,直接從局域網的代理倉庫中下載這些依賴項),會自動進入交互模式,會讓你輸入一些基本信息,相似下面這樣:測試

...網站

[INFO] Generating project in Interactive mode (這裏會卡一下子,由於要聯網獲取項目模板)ui

[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)spa

Choose archetype:

1: remote -> br.com.ingenieux:elasticbeanstalk-service-webapp-archetype (A Maven Archetype Encompassing RestAssured, Jetty, Jackson, Guice and Jersey for Publishing JAX-RS-based Services on AWS' Elastic Beanstalk Service)

... (這裏會自動列出不少項目模板,每種模板前面會有一個數字序號)

336: remote -> org.apache.maven.archetypes:maven-archetype-quickstart (An archetype which contains a sample Maven project.)

...

Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 336: (這裏根據每一個人機器上安裝的eclipse插件不一樣,可能默認的數字不是這個,能夠先無論,直接回車。如果想要建立web項目,則需選擇對應的數字。Web項目的archetypes爲:maven-archetype-webapp。)

Choose org.apache.maven.archetypes:maven-archetype-quickstart version:

1: 1.0-alpha-1

2: 1.0-alpha-2

3: 1.0-alpha-3

4: 1.0-alpha-4

5: 1.0

6: 1.1

Choose a number: 6: (直接回車)

Define value for property 'groupId': : cnblogs (可理解成相似package或namespace的名稱,一般咱們填寫組織機構名稱縮寫)

Define value for property 'artifactId': : maven-hello-world (組件名稱,可理解成項目名稱)

Define value for property 'version':  1.0-SNAPSHOT: : (版本號,直接回車,默認1.0-SNAPSHOT)

Define value for property 'package':  cnblogs: : (打包後的jar文件名)

Confirm properties configuration:

groupId: cnblogs

artifactId: maven-hello-world

version: 1.0-SNAPSHOT

package: cnblogs

 Y: :  (直接回車確認)

[INFO] ----------------------------------------------------------------------------

[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.1

[INFO] ----------------------------------------------------------------------------

[INFO] Parameter: groupId, Value: cnblogs

[INFO] Parameter: packageName, Value: cnblogs

[INFO] Parameter: package, Value: cnblogs

[INFO] Parameter: artifactId, Value: maven-hello-world

...

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS (看到這個,表示項目建立成功!)

[INFO] ------------------------------------------------------------------------

...

 

注:create is deprecated in maven 3.0.5 and beyond,在maven3.0.5以上版本捨棄了create,使用generate生成項目。因此mvn archetype:create已不可用。

相關文章
相關標籤/搜索