maven插件开发与远程调试

389 阅读1分钟

一、插件开发

1、创建插件工程,并且在pom.xml文件中添加依赖

<dependencies>
    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-plugin-api</artifactId>
        <version>3.0</version>
    </dependency>

    <!-- dependencies to annotations -->
    <dependency>
        <groupId>org.apache.maven.plugin-tools</groupId>
        <artifactId>maven-plugin-annotations</artifactId>
        <version>3.4</version>
        <scope>provided</scope>
    </dependency>
</dependencies>
    

2、注意打包方式

<packaging>maven-plugin</packaging>

3、创建一个类来继承AbstractMojo类并重写execute()方法就可以了

package sample.plugin;

import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugins.annotations.Mojo;

/**
 * Says "Hi" to the user.
 *![](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/007b8a0e826a430f91445b006a9a0865~tplv-k3u1fbpfcp-watermark.image)
 */
@Mojo( name = "sayhi")
public class GreetingMojo extends AbstractMojo
{
    public void execute() throws MojoExecutionException
    {
        getLog().info("hello world");
    }
}

二、插件调试

1、在插件的项目A中添加如下配置

2、在需要调试的项目B中添加如下配置

3、注意项目B的命令行

sample.plugin:hello-maven-plugin:1.0-SNAPSHOT:sayhi -DgroupId=sample.plugin -DartifactId=hello-maven-plugin -Dversion=1.0-SNAPSHOT -f pom.xml

4、配置项目B中的Runner配置,直接复制插件项目A的配置即可

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9000

5、最后运行调试