知識總結-Maven基礎、常用命令

初識Maven

Maven作為一個構建工具,不僅幫我們自動化構建,還能抽象構建過程,提供構建任務實現.他跨平臺,對外提供一致的操作接口;

Maven不僅是構建工具,他還是一個依賴管理工具和項目信息管理工具.他還提供了中央倉庫,能幫我們自動下載構件.

使用Maven還能享受一個額外的好處,即Maven對於項目目錄結構、測試用例命名方式等內容都有既定的規則,只要遵循了這些成熟的規則,用戶在項目間切換的時候就免去了額外的學習成本,可以說是約定優於配置.

Maven常用命令

清除產生的項目

mvn clean

編譯源代碼

mvn compile

清除、編譯

mvn clean compile

編譯測試代碼

mvn test-compile

運行測試:

mvn test

打包

mvn package

本地編譯打包、跳過測試

mvn clean package -DskipTests

清理 打包 跳過測試

mvn clean package -DskipTests

清理 安裝 跳過測試

mvn clean install -Dmaven.test.skip=true

想要查看完整的依賴蹤跡,包含那些因為衝突或者其它原因而被拒絕引入的構件,打開 Maven 的調試標記運行 :

mvn install -X

發佈,會將生成的JAR寫到MAVEN外部庫,

mvn clean package deploy -DskipTests

安裝,會發布到MAVEN本地庫

mvn clean package install -DskipTests

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

-Dmaven.test.skip=true,不執行測試用例,也不編譯測試用例類。

下載源碼

mvn dependency:sources

生成一個空的WEB工程

mvn archetype:create -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=1.0.0 -DgroupId=com.cai.test -DartifactId=cai-test

生成API文檔

mvn javadoc:aggregate

生成文檔

mvn javadoc:jar

一體化打包

mvn -U -Dmaven.test.skip=true clean package assembly:assembly

打包,會生成TAR壓縮包

mvn clean assembly:assembly -DskipTests

JETTY執行使用9999端口

mvn jetty:run -Djetty.port=9999

JETTY執行war文件

mvn jetty:run-war

關閉JETTY

mvn jetty:stop

上傳JAR到maven本地庫

mvn install:install-file -Dfile=alipay-sdk-java20161121110022.jar -DgroupId=com.alipay.api -DartifactId=alipay-sdk-java -Dversion=20161121110022 -Dpackaging=jar

只打jar包:

mvn jar:jar

只測試而不編譯,也不測試編譯:

mvn test -skipping compile -skipping test-compile -skipping 的靈活運用,當然也可以用於其他組合命令

查看當前項目已被解析的依賴:

mvn dependency:list

強制檢查更新,由於快照版本的更新策略(一天更新幾次、隔段時間更新一次)存在,如果想強制更新就會用到此命令

mvn clean install-U

顯示版本信息 :

mvn -version/-v

顯示詳細錯誤 信息:

mvn -e

驗證工程是否正確,所有需要的資源是否可用:

mvn validate

在集成測試可以運行的環境中處理和發佈包:

mvn integration-test

運行任何檢查,驗證包是否有效且達到質量標準:

mvn verify

使用 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

看這個“有效的 (effective)”POM,它暴露了 Maven的默認設置

mvn help:effective-pom

mvn exec命令可以執行項目中的main函數

首先需要編譯java工程:mvn compile 不存在參數的情況下:mvn exec:java -Dexec.mainClass=".Main" 存在參數:mvn exec:java -Dexec.mainClass=".Main" -Dexec.args="arg0 arg1 arg2" 指定運行時庫:mvn exec:java -Dexec.mainClass="***.Main" -Dexec.classpathScope=runtime

打印出已解決依賴的列表

mvn dependency:resolve

打印整個依賴樹

mvn dependency:tree

生成依賴關係文件

mvn dependency:tree > tree.txt


分享到:


相關文章: