标签:插件 自定义 plugin import 示例 maven plugins apache org
1、创建maven项目,配置相关依赖pom.xml
注意 <packaging>maven-plugin</packaging>
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wywtime.plugins</groupId>
<artifactId>bsmn-maven-plugin</artifactId>
<version>0.0.1</version>
<packaging>maven-plugin</packaging>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.8.6</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.6.4</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
2、创建AbstractMojo实现类
package com.wywtime.plugin;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
@Mojo(name = "hello")
public class BsmnMavenHelloMojo extends AbstractMojo {
@Parameter
private String basedir;
@Parameter
private String name;
public void execute() throws MojoExecutionException, MojoFailureException {
getLog().info("hello "+name+", this is bsmn's first plugin");
getLog().info("current basedir is:"+basedir);
}
}
3、安装插件
mvn install
发现通过idea工具install,与命令行有差异,是因为命令行用的是本地安装的maven
# 可通过如下指令来查看实际的配置
mvn help:effective-settings
4、修改settings.xml
<pluginGroups>
<pluginGroup>com.wywtime.plugins</pluginGroup>
</pluginGroups>
5、在新项目中引入插件
修改pom.xml
<build>
<plugins>
<plugin>
<groupId>com.wywtime.plugins</groupId>
<artifactId>bsmn-maven-plugin</artifactId>
<version>0.0.1</version>
<configuration>
<name>abc</name>
<basedir>${project.basedir}</basedir>
</configuration>
</plugin>
</plugins>
</build>
6、执行指令
mvn bsmn:hello
标签:插件,自定义,plugin,import,示例,maven,plugins,apache,org 来源: https://www.cnblogs.com/bsmn/p/16410410.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。