• 开发Maven插件


      Mojo: Maven plain Old Java Object

    1、插件命名规则:maven-<yourplugin>-plugin是Maven的保留字段,不允许使用,我们可以用<myplugin>-maven-plugin来命名自己开发的插件。

    2、自定义插件代码,注意pom文件的packaging类型是maven-plugin,否则无法识别为插件类型。

     1 import org.apache.maven.plugin.AbstractMojo;
     2 import org.apache.maven.plugin.MojoExecutionException;
     3 import org.apache.maven.plugins.annotations.Mojo;
     4 import org.apache.maven.plugins.annotations.Parameter;
     5 
     6 /**
     7  * 支持的命令:
     8  * mvn com.sample.myplugin:hello-maven-plugin:1.0-SNAPSHOT:sayhi 
     9  * 默认输出Hello World!
    10  * 当配置了<greeting>Welcome</greeting>,输出Welcome
    11  * mvn com.sample.myplugin:hello-maven-plugin:1.0-SNAPSHOT:sayhi -Dsayhi.greeting=hello
    12  * 未配置<greeting>Welcome</greeting>时输出hello
    13  */
    14 @Mojo(name = "sayhi")
    15 public class GreetingMojo extends AbstractMojo {
    16 
    17     // 参数,可以用参数表达式${project.version}
    18     // 不同的参数类型的pom配置也不同
    19     @Parameter(property = "sayhi.greeting", defaultValue = "Hello World!")
    20     private String greeting;
    21 
    22     @Override
    23     public void execute() throws
    24             MojoExecutionException {
    25         getLog().info(greeting);
    26     }
    27 }
     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 
     7     <groupId>com.sample.myplugin</groupId>
     8     <artifactId>hello-maven-plugin</artifactId>
     9     <version>1.0-SNAPSHOT</version>
    10     <packaging>maven-plugin</packaging>
    11 
    19     <dependencies>
    20         <dependency>
    21             <groupId>org.apache.maven</groupId>
    22             <artifactId>maven-plugin-api</artifactId>
    23             <version>3.0</version>
    24         </dependency>
    25 
    26         <!-- @Mojo注解的依赖包 -->
    27         <dependency>
    28             <groupId>org.apache.maven.plugin-tools</groupId>
    29             <artifactId>maven-plugin-annotations</artifactId>
    30             <version>3.4</version>
    31             <scope>provided</scope>
    32         </dependency>
    33     </dependencies>
    34 
    35     <build>
    36         <plugins>
    37             <plugin>
    38                 <!-- 使用自定义插件-->
    39                 <groupId>com.sample.myplugin</groupId>
    40                 <artifactId>hello-maven-plugin</artifactId>
    41                 <version>1.0-SNAPSHOT</version>
    42                 <configuration>
    43                     <!-- greeting 是 @Parameter注解的参数-->
    44                     <greeting>Welcome</greeting>
    45                 </configuration>
    46             </plugin>
    47         </plugins>
    48     </build>
    49 </project>
  • 相关阅读:
    .net core 项目发布IIS
    .net core 项目连接SQL SERVER数据库报错provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server) (Microsoft SQL Server, Error
    网络通讯五层架构入门
    TCP协议学习笔记
    路由器和交换机入门随笔
    互联网通讯的过程
    无论做什么行业,都要有自己的积累!
    C#使用sqlserver2005自动创建数据表和自动添加某个字段索引
    c# treeview在指定名称下添加节点
    测试的行业选择
  • 原文地址:https://www.cnblogs.com/bigshark/p/7955998.html
Copyright © 2020-2023  润新知