Maven 外掛
Maven 外掛
Maven 有以下三個標準的生命週期:
- clean:專案清理的處理
- default(或 build):專案部署的處理
- site:專案站點文件建立的處理
每個生命週期中都包含著一系列的階段(phase)。這些 phase 就相當於 Maven 提供的統一的介面,然後這些 phase 的實現由 Maven 的外掛來完成。
我們在輸入 mvn 命令的時候 比如 mvn clean,clean 對應的就是 Clean 生命週期中的 clean 階段。但是 clean 的具體操作是由 maven-clean-plugin 來實現的。
所以說 Maven 生命週期的每一個階段的具體實現都是由 Maven 外掛實現的。
Maven 實際上是一個依賴外掛執行的框架,每個任務實際上是由外掛完成。Maven 外掛通常被用來:
- 建立 jar 檔案
- 建立 war 檔案
- 編譯程式碼檔案
- 程式碼單元測試
- 建立工程文件
- 建立工程報告
外掛通常提供了一個目標的集合,並且可以使用下面的語法執行:
<code>mvn [plugin-name]:[goal-name]</code>
例如,一個 Java 工程可以使用 maven-compiler-plugin 的 compile-goal 編譯,使用以下命令:
<code>mvn compiler:compile</code>
外掛型別
Maven 提供了下面兩種型別的外掛:
型別 | 描述 |
---|---|
Build plugins | 在構建時執行,並在 pom.xml 的 元素中配置。 |
Reporting plugins | 在網站生成過程中執行,並在 pom.xml 的 元素中配置。 |
下面是一些常用外掛的列表:
外掛 | 描述 |
---|---|
clean | 構建之後清理目標檔案。刪除目標目錄。 |
compiler | 編譯 Java 原始檔。 |
surefile | 執行 JUnit 單元測試。建立測試報告。 |
jar | 從當前工程中構建 JAR 檔案。 |
war | 從當前工程中構建 WAR 檔案。 |
javadoc | 為工程生成 Javadoc。 |
antrun | 從構建過程的任意一個階段中執行一個 ant 任務的集合。 |
例項
我們已經在我們的例子中大量使用了 maven-antrun-plugin 來輸出資料到控制檯上。請檢視 章節。讓我們用一種更好的方式理解這部分內容,在 C:\MVN\project 目錄下建立一個 pom.xml 檔案。
接下來,開啟命令終端跳轉到 pom.xml 所在的目錄,並執行下面的 mvn 命令。
mvn clean
Maven 將開始處理並顯示 clean 生命週期的 clean 階段。
[INFO] Scanning for projects...[INFO] ------------------------------------------------------------------[INFO] Building Unnamed - com.companyname.projectgroup:project:jar:1.0[INFO] task-segment: [post-clean][INFO] ------------------------------------------------------------------[INFO] [clean:clean {execution: default-clean}][INFO] [antrun:run {execution: id.clean}][INFO] Executing tasks [echo] clean phase[INFO] Executed tasks[INFO] ------------------------------------------------------------------[INFO] BUILD SUCCESSFUL[INFO] ------------------------------------------------------------------[INFO] Total time: < 1 second[INFO] Finished at: Sat Jul 07 13:38:59 IST 2012[INFO] Final Memory: 4M/44M[INFO] ------------------------------------------------------------------
上面的例子展示了以下關鍵概念:
- 外掛是在 pom.xml 中使用 plugins 元素定義的。
- 每個外掛可以有多個目標。
- 你可以定義階段,外掛會使用它的 phase 元素開始處理。我們已經使用了 clean 階段。
- 你可以透過繫結到外掛的目標的方式來配置要執行的任務。我們已經繫結了 echo 任務到 maven-antrun-plugin 的 run 目標。
- 就是這樣,Maven 將處理剩下的事情。它將下載本地倉庫中獲取不到的外掛,並開始處理。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70006413/viewspace-2907548/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Maven--外掛Maven
- maven外掛配置Maven
- Maven配置 Jetty 外掛MavenJetty
- maven Multiple sourceDirectory外掛Maven
- Maven的常用外掛Maven
- Maven外掛開發教程Maven
- MybatisGenerator的Maven外掛配置MyBatisMaven
- Maven Assembly外掛介紹Maven
- Maven外掛執行方式Maven
- 【Maven實戰技巧】「外掛使用專題」Maven-Archetype外掛建立自定義maven專案骨架Maven
- Maven外掛生成myBatis逆向工程MavenMyBatis
- Maven生命週期和外掛Maven
- Lombok編譯器Maven外掛Lombok編譯Maven
- 【Maven實戰技巧】「外掛使用專題」Maven-Assembly外掛實現自定義打包Maven
- Maven-Maven整合的tomcat7外掛MavenTomcat
- 測試外掛maven-surefire-pluginMavenPlugin
- vertx外掛使用vertx-maven-pluginMavenPlugin
- 常用Maven外掛介紹(轉載)Maven
- 【乾貨】常用maven外掛總結Maven
- 使用maven外掛構建docker映象MavenDocker
- nukkit maven 專案除錯外掛Maven除錯
- Maven 教程(21)— maven-compiler-plugin 外掛詳解MavenCompilePlugin
- maven的外掛才是真正的執行者Maven
- Jib使用小結(Maven外掛版)Maven
- [Maven]檢視某外掛的全部功能Maven
- windows平臺,eclipse安裝maven外掛WindowsEclipseMaven
- Docker與Jib(maven外掛版)實戰DockerMaven
- Apache Maven Assembly自定義打包外掛的使用ApacheMaven
- Maven對外掛進行全域性設定Maven
- MyBatis逆向工 maven外掛 generator 的配置及使用MyBatisMaven
- maven mybatis-generator 外掛自動生成程式碼MavenMyBatis
- 使用Maven的assembly外掛實現自定義打包Maven
- 從零開始寫Java Web框架——maven 外掛JavaWeb框架Maven
- 【曹工雜談】詳解Maven外掛除錯方法Maven除錯
- maven-compiler-plugin外掛引數配置詳解MavenCompilePlugin
- maven-war-plugin 外掛 web.xml 缺失時忽略MavenPluginWebXML
- eclipse中Maven工程使用Tomcat7以上外掛EclipseMavenTomcat
- IDEA Maven Helper 外掛的安裝與使用說明IdeaMaven