Maven自定义插件的开发示例

打印 上一主题 下一主题

主题 665|帖子 665|积分 1995

1、创建maven项目,配置相关依赖pom.xml

注意 maven-plugin
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5.     <modelVersion>4.0.0</modelVersion>
  6.     <groupId>com.wywtime.plugins</groupId>
  7.     <artifactId>bsmn-maven-plugin</artifactId>
  8.     <version>0.0.1</version>
  9.     <packaging>maven-plugin</packaging>
  10.     <dependencies>
  11.         <dependency>
  12.             <groupId>org.apache.maven</groupId>
  13.             <artifactId>maven-plugin-api</artifactId>
  14.             <version>3.8.6</version>
  15.         </dependency>
  16.         <dependency>
  17.             <groupId>org.apache.maven.plugin-tools</groupId>
  18.             <artifactId>maven-plugin-annotations</artifactId>
  19.             <version>3.6.4</version>
  20.             <scope>provided</scope>
  21.         </dependency>
  22.     </dependencies>
  23. </project>
复制代码
2、创建AbstractMojo实现类
  1. package com.wywtime.plugin;
  2. import org.apache.maven.plugin.AbstractMojo;
  3. import org.apache.maven.plugin.MojoExecutionException;
  4. import org.apache.maven.plugin.MojoFailureException;
  5. import org.apache.maven.plugins.annotations.Mojo;
  6. import org.apache.maven.plugins.annotations.Parameter;
  7. @Mojo(name = "hello")
  8. public class BsmnMavenHelloMojo extends AbstractMojo {
  9.     @Parameter
  10.     private String basedir;
  11.     @Parameter
  12.     private String name;
  13.     public void execute() throws MojoExecutionException, MojoFailureException {
  14.         getLog().info("hello "+name+", this is bsmn's first plugin");
  15.         getLog().info("current basedir is:"+basedir);
  16.     }
  17. }
复制代码
3、安装插件
  1. mvn install
复制代码
发现通过idea工具install,与命令行有差异,是因为命令行用的是本地安装的maven
  1. # 可通过如下指令来查看实际的配置
  2. mvn help:effective-settings
复制代码
4、修改settings.xml
  1.   <pluginGroups>
  2.         <pluginGroup>com.wywtime.plugins</pluginGroup>
  3.   </pluginGroups>
复制代码
5、在新项目中引入插件

修改pom.xml
  1.   <build>
  2.         <plugins>
  3.             <plugin>
  4.                 <groupId>com.wywtime.plugins</groupId>
  5.                 <artifactId>bsmn-maven-plugin</artifactId>
  6.                 <version>0.0.1</version>
  7.                 <configuration>
  8.                     <name>abc</name>
  9.                     <basedir>${project.basedir}</basedir>
  10.                 </configuration>
  11.             </plugin>
  12.         </plugins>
  13.     </build>
复制代码
6、执行指令
  1. mvn bsmn:hello
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

伤心客

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表