maven插件开发简介

我们在使用maven管理项目的时候就用了好些maven插件,例如clean、deploy、install等等,一般来说用现成的插件就够用了,但有时候可能会碰到现成的解决方案不能满足业务需求的,这个时候就需要自己来开发maven插件了。找了下资料,发现写一个插件难度不大,下面就简单介绍下插件开安流程。

第一步,创建一个maven项目

第二步,需要在pom.xml文件中依赖一个maven插件的包

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

第三步,开始实现插件了,每个插件都需要继承一个叫 AbstractMojo的类,mojo即Maven Plain Old Java Object。

package org.yucy.mavenplugin;

import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;

/**
 * @author yucy
 * @goal maven-plugin-tester
 */
public class Tester extends AbstractMojo {

    public void execute() throws MojoExecutionException {
        getLog().info("Empty Maven2");
    }
}


getLog()是一个获取日志对象的方法,其获取的是AbstractMojo内部的一个log,依赖的类文件是:org.apache.maven.plugin.logging.Log; 都有现成的了,所以我们在开发插件的时候就不需要再引入其它的日志插件了。

第四步,配置pom.xml文件

  <groupId>org.yucy</groupId>
  <artifactId>plugin-tester</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>maven-plugin</packaging>

  <name>plugin-tester</name>
  <url>http://maven.apache.org</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
 <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-plugin-plugin</artifactId>
        <version>3.0</version>
        <executions>
        </executions>
        <configuration>
          <!-- Needed for Java 5 annotation based configuration, for some reason. -->
          <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <distributionManagement>
    <snapshotRepository>
      <id>snapshots</id>
      <url>http://mvn.xxxxx:9090/nexus/content/repositories/snapshots</url>
    </snapshotRepository>
  </distributionManagement>

第五步,发布插件到仓库

在终端上输入 mvn clean package deploy,这样插件就会被发布到maven仓库中。

下面就是使用插件了,我们可以在pom.xml中引用依赖,也可以在setting.xml文件

<pluginGroups>
    <!--  插件的groupId -->
    <pluginGroup>org.yucy</pluginGroup>
</pluginGroups>

插件开发就介绍这些了,下面是官方的一些api介绍  http://maven.apache.org/developers/mojo-api-specification.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值