maven自定义插件

自定义流程

1.新建maven项目
2.修改pom文件的打包方式(packaging=maven-plugin)
3.引入依赖
maven-plugin-api包
maven-plugin-annotations包

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>xxxxxx</groupId>
  <artifactId>xxx-maven-plugin</artifactId>
  <packaging>maven-plugin</packaging>
  <version>1.0-SNAPSHOT</version>
  <dependencies>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-plugin-api</artifactId>
      <version>2.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven.plugin-tools</groupId>
      <artifactId>maven-plugin-annotations</artifactId>
      <version>3.1</version>
    </dependency>
  </dependencies>
</project>

4.编写执行类,继承AbstractMojo,重写execute方法

@Mojo(name="printf",defaultPhase = LifecyclePhase.CLEAN)
public class MyMojo extends AbstractMojo
{
    @Parameter
    private String name;

    public void execute() throws MojoExecutionException {
       System.out.println(" ---------->>你好, " + name);
    }
}

5.执行install

6.在其他项目引用

<build>
      <plugins>
      <plugin>
        <groupId>xxxxxx</groupId>
  		<artifactId>xxx-maven-plugin</artifactId>
        <version>1.0-SNAPSHOT</version>
      </plugin>
    </plugins>
  </build>

7.执行mvn xxx:printf

配置

<plugin>
        <groupId>com.test.maven</groupId>
        <artifactId>my-maven-plugin</artifactId>
        <version>1.0-SNAPSHOT</version>
        <executions>
            <execution>
                <goals>
                    <!-- 执行目标 -->
                    <goal>printf</goal>
                </goals>
                <phase>clean</phase>
            </execution>
        </executions>
     <!-- 这里对应的test节点,就是对应的自定义组件中,参数名 里面的值就是要注入的值,使用场景是,当需要注入目标项目的相对路径或者项目名称等等一些信息 -->
     <configuration>
            <name>peter</name>
        </configuration>
      </plugin>

参考

https://www.cnblogs.com/oscar1987121/p/10959083.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Maven定义件是通过创建Plugin项目来实现的。在Maven项目中,件被打包成jar文件,并在pom.xml中进行配置和调用。 首先,我们需要在件项目的pom.xml中声明件的元数据信息,包括件的groupId、artifactId、version等。然后,在项目的src/main/java目录下创建件的实现类,该类需要继承AbstractMojo类,并实现execute方法。在execute方法中编写件的执行逻辑。 在定义件时,除了实现类,还可以定义一些件参数。这些参数可以通过件的参数注解进行定义,并在件实现类中获取和使用。参数注解包括@Parameter、@MojoParameter等。 在编写件逻辑时,我们可以调用Maven提供的API来实现自定义的功能。这些API包括Project对象、MavenSession对象等,可以用于获取项目信息、执行Maven命令等。 编写件完成后,我们需要在件项目的pom.xml中配置maven-plugin-plugin件来进行打包。该件会根据件项目中的配置信息来生成件的描述文件。我们还可以在pom.xml中配置其他件,用于生成件的部署和安装文件。 最后,我们需要在使用件的项目的pom.xml中进行件的配置和调用。配置件的groupId、artifactId、version等,并指定件的执行阶段和参数等。 总的来说,Maven定义件是通过创建件项目,编写件类和配置件的元数据信息来实现的。件项目的打包和安装后,可以在使用件的项目中进行配置和调用,实现自定义的功能。件的编写和使用可以提高项目的灵活性和可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值