最近因工作需要學(xué)習(xí)了maven插件開(kāi)發(fā)族展,之前工作內(nèi)容都是業(yè)務(wù)功能的開(kāi)發(fā)缎脾,借此機(jī)會(huì)正好了解一下maven插件開(kāi)發(fā)。
maven插件開(kāi)發(fā)的主要流程如下:
1游昼、新建項(xiàng)目甘苍,添加pom依賴:maven-plugin-api,maven-plugin-annotations烘豌。
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.6.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.6.0</version>
<scope>provided</scope>
</dependency>
2载庭、修改pom文件的packaging為maven-plugin
<packaging>maven-plugin</packaging>
3、新建Mojo類(lèi)廊佩,繼承AbstractMojo囚聚,添加mojo注解并指定goal,
@Mojo(name = "goal")
public class SWQAMojo extends AbstractMojo {
@Override
public void execute() {
}
}
- 實(shí)現(xiàn)execute方法标锄,其中execute方法是執(zhí)行入口顽铸,日志輸出使用getLog()來(lái)打印。
- maven插件使用
<plugin>
<groupId>com.groupName</groupId>
<artifactId>xxxx-maven-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
</plugin>
- 本地調(diào)用直接maven install即可
- 遠(yuǎn)程調(diào)用需要maven deploy 到倉(cāng)庫(kù)(需指定distributionManagement)鸯绿,使用方需要配置pluginRepository
4跋破、maven插件的調(diào)試(比如插件項(xiàng)目為A簸淀,使用插件項(xiàng)目為B)
- 在B項(xiàng)目pom文件引入插件
- 在B項(xiàng)目的根目錄下打開(kāi)控制終端瓶蝴,輸入mvnDebug 插件名:goal
- 在A項(xiàng)目run/debug configurations新建remote,在命令行參數(shù)把a(bǔ)ddress改為8000租幕,保存后切換到remote運(yùn)行配置舷手,點(diǎn)擊調(diào)試按鈕開(kāi)始執(zhí)行,需要提前在A項(xiàng)目源代碼打好斷點(diǎn)劲绪。
- 日志打印會(huì)在B項(xiàng)目輸出男窟,進(jìn)入斷點(diǎn)會(huì)切換到A項(xiàng)目