003_Maven插件
1. Maven有以下三個標準的生命周期:
1.1. clean: 項目清理的處理。
1.2. default(或build): 項目部署的處理。
1.3. site: 項目站點文檔創(chuàng)建的處理。
2. 每個生命周期中都包含著一系列的階段(phase)。這些phase就相當于Maven提供的統(tǒng)一的接口, 然后這些phase的實現(xiàn)由Maven的插件來完成。
3. 我們在輸入mvn命令的時候, ?比如: mvn clean, clean對應的就是Clean生命周期中的clean階段。但是clean的具體操作是由maven-clean-plugin來實現(xiàn)的。
4. 所以說Maven生命周期的每一個階段的具體實現(xiàn)都是由Maven插件實現(xiàn)的。Maven實際上是一個依賴插件執(zhí)行的框架, 每個任務實際上是由插件完成。
5. Maven插件通常被用來:
5.1. 創(chuàng)建jar文件。
5.2. 創(chuàng)建war文件。
5.3. 編譯代碼文件。
5.4. 代碼單元測試。
5.5. 創(chuàng)建工程文檔。
5.6. 創(chuàng)建工程報告。
6. Maven提供了下面兩種類型的插件:
7. Maven一些常用插件的列表:?
8. 把maven-antrun-plugin插件添加到Clean生命周期的各個階段
8.1. 我們將maven-antrun-plugin:run目標添加到pre-clean、clean和post-clean階段中。這樣我們可以在clean生命周期的各個階段顯示文本信息。
8.2. 修改MavenWeb工程的pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><!-- 模型版本, 創(chuàng)建使用默認值就行了 --><modelVersion>4.0.0</modelVersion><!-- 公司或者組織的唯一標志, 并且配置時生成的路徑也使用它, 如: com.bjbs, maven會將該項目打成的jar或war包放本地路徑: /com/bjbs --><groupId>com.bjbs</groupId><!-- 這是工程的標識 --><artifactId>MavenWeb</artifactId><!-- 工程的版本號 --><version>0.0.1-SNAPSHOT</version><packaging>war</packaging><dependencies><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><version>2.0</version><scope>provided</scope></dependency><!-- https://mvnrepository.com/artifact/junit/junit --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-antrun-plugin</artifactId><version>1.1</version><executions><execution><id>id.pre-clean</id><phase>pre-clean</phase><goals><goal>run</goal></goals><configuration><tasks><echo>pre-clean phase</echo></tasks></configuration></execution><execution><id>id.clean</id><phase>clean</phase><goals><goal>run</goal></goals><configuration><tasks><echo>clean phase</echo></tasks></configuration></execution><execution><id>id.post-clean</id><phase>post-clean</phase><goals><goal>run</goal></goals><configuration><tasks><echo>post-clean phase</echo></tasks></configuration></execution></executions></plugin></plugins></build> </project>8.3. 在MavenWeb項目根目錄下執(zhí)行: mvn post-clean命令
8.4. 例子展示了以下關鍵概念
- 插件是在pom.xml中使用plugins元素定義的。
- 每個插件可以有多個目標。
- 你可以定義階段, 插件會使用它的phase元素開始處理。我們已經(jīng)使用了pre-clean、 clean和post-clean階段。
- 你可以通過綁定到插件的目標的方式來配置要執(zhí)行的任務。我們已經(jīng)綁定了echo任務到maven-antrun-plugin的run目標。
- 就是這樣, Maven將處理剩下的事情。它將下載本地倉庫中獲取不到的插件, 并開始處理。
總結(jié)
以上是生活随笔為你收集整理的003_Maven插件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 002_Maven命令
- 下一篇: 005_Maven POM