`

新建maven plugin

 
阅读更多

项目中需要maven编译时能对空的goal进行默认处理,而不是报错

自动动手试了下maven plugin的编写,看了下资料不是很难

1、新建工程

可以使用eclipse的mvn插件快捷创建mvn project

archetype选择时

group Id为org.apache.maven.archetypes 

Artifact Id为maven-archetype-quickstart

 

2、修改pom文件

2.1修改packaging方式

<packaging>jar</packaging>

<packaging>maven-plugin</packaging>

2.2 增加maven-plugin-api的依赖

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

 

2.3 修改一些groupId、artifactId

  <groupId>com.alibaba.b2b.platform.qp</groupId>
  <artifactId>MavenPlugin</artifactId>
  <version>1.0.0</version>
  <packaging>maven-plugin</packaging>
 

3、新建类继承自AbstractMojo类,并实现execute()方法

package com.alibaba.b2b.platform.qp.MavenPlugin;

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

/**
 * @author gengxin.wugx 2011-9-21 下午03:21:45
 * @goal maven-plugin-test
 */
public class MavenPluginTest extends AbstractMojo {

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

这边要注意的地方有三点

(1)、继承AbstractMojo类

(2)、实现execute()方法

(3)、添加@goal annotation表示goal名字,在编译命令时需要使用到

 

4、mvn clean install编译打包到本地库

 

 

5、手动将plugin包添加到本地maven库

有时需要手动将plugin包导入本地库,可使用如下命令,对于大多数情况此步并不需要

mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>

其中Dfile为插件包的全路径

DgroupId、DartifactId、Dversion都已在pom中指定

Dpackaging为plugin包的后缀及Dfile文件的后缀

 

6、运行插件的命令

现在需要对另一个项目用上述插件,可使用如下命令

mvn com.alibaba.b2b.platform.qp:MavenPlugin:1.0.0:maven-plugin-test

mvn 加包名:类名:版本号:goal名

版本号不可缺少,为pom文件中指定

goal名为继承自AbstractMojo类的@goal annotation

 

参考:

http://www.sonatype.com/books/mvnref-book/reference/writing-plugins-sect-custom-plugin.html

http://maven.apache.org/guides/plugin/guide-java-plugin-development.html

http://www.avajava.com/tutorials/lessons/how-do-i-create-a-hello-world-goal-for-a-maven-plugin.html?page=1

分享到:
评论

相关推荐

    eclipse maven plugin 插件 安装 和 配置.docx

    ### Eclipse Maven Plugin 插件安装与配置指南 #### 一、引言 在现代软件开发过程中,Maven作为一款强大的构建工具,极大地简化了项目的构建流程。为了更好地集成Maven的功能,Eclipse提供了名为Eclipse Maven ...

    新建maven产生的maven库

    可以使用maven-dependency-plugin的analyze-only目标检查未使用的依赖,并使用maven-clean-plugin清理项目目标目录。 **8. 配置Maven镜像** 为了加快依赖下载速度,开发者可以配置Maven使用国内的镜像源。在...

    eclipse-maven-plugin

    **正文** "Eclipse Maven Plugin" 是一个专门为Eclipse集成开发环境设计的插件,它使得在Eclipse中管理和构建Maven项目变得更为便捷。...无论是新建Maven项目,还是管理已有的Maven项目,这个插件都是不可或缺的工具。

    新建Maven项目时出错:org.apache.maven.archiver.MavenArchiver.getManifest

    eclipse新建maven项目时,pom.xml文件第一行报错: org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration) 解决...

    Maven更新失败,Cannot resolve plugin org.apache.maven.plugins:maven-compiler-plugin:3.1

    Maven更新问题 今天Maven在更新的时候发现一直更新不成功,总结下解决方法。 在apache-maven-3.5.2/conf/setting.xml中加入以下配置即可解决 alimaven aliyun maven ...

    新建maven工程包含源码和文档

    本文将详细解析“新建maven工程包含源码和文档”的主题,并基于提供的标签和文件名称,探讨如何创建一个完整的Maven项目,以及如何在项目中包含源码和文档。 首先,创建一个Maven项目的基本步骤如下: 1. **安装...

    maven2 plugin for eclipse

    maven2的插件,用于在eclipse下进行maven2的快速配置 打开eclipse .选择菜单 window -&gt;preferences ; 在新打开的对话框的左边的一列会看到一个名为Maven2的选项。鼠标单击,然后点击右边的Local Repository Folder ...

    新建maven后pom. xml报错解决方法

    本文将详细介绍如何解决新建Maven项目后POM.xml文件出现错误的情况。 ### 一、理解POM.xml POM.xml是Maven项目的核心配置文件,它定义了项目的构建规则、依赖关系以及其他Maven生命周期所需的信息。当POM.xml文件...

    maven离线安装插件

    4、在links中新建maven.txt文件,内容为插件地址,例如:path=D:\eclipse_gzds\myplugins\maven(注意这里斜杠,不是反斜杠) 5、将maven.txt扩展名改为maven.lin 6、在eclipse根目录下找到eclipse.ini并打开,在...

    maven插件和eclipse集成

    1,打开你本地的eclipse根目录,随便新建一个文件夹例如mavenPlugin,把maven离线插件包中两个文件夹复制到这个新建的这个文件夹里边. 2,找到eclipse根目录下的dropins文件夹,进去后,新建一个.link文件,例如maven...

    Maven 权威指南 非扫描版

    解压到eclipse安装目录的根目录下1、新建links和mavenPlugin文件夹 2、将插件包里的feature和plugin放到mavenPlugin里面3、在links里面新建maven.link文件,内容为path=mavenPlugin文件夹的目录 3、重起eclipse ...

    Windoiws的maven3.8.8

    - **Maven_HOME**:在系统环境变量中新建一个名为`Maven_HOME`的变量,将其值设置为解压后的Maven目录路径,如`C:\Program Files\apache-maven-3.8.8`。 - **Path**:在用户或系统环境变量的`Path`中添加`%Maven_...

    apache-maven-3.2.5+eclipse-maven3-plugin插件

    1、在eclipse目录下的dropins目录下新建一个maven.link文件,文件名不受限制 2、在maven.link文件中指向maven插件:path=..mypluginmaven3 3、从新启动eclipse,window-首选项,找到maven标签进行设置 4.apache-mave...

    maven3 + jetty 新建webapp

    标题 "maven3 + jetty 新建webapp" 涉及到的是使用Apache Maven 3构建工具和Jetty轻量级应用服务器来创建一个新的Web应用程序的过程。在Java开发领域,Maven是广泛使用的项目管理和集成工具,它帮助管理项目的构建、...

    maven2 的eclipse插件

    插件安装时,我们只需在eclipse根目录下新建一个【links】目录,然后在里面创建【.link】扩展名的文件,在里面写上类似于【path=F:\\IDE\\eclipsePlugin\\maven2】这样的配置信息,不就可以统一管理我们自己的插件了...

    Maven新建打包等管理Eclipse标准动态Web工程

    在Eclipse中,我们还可以通过Maven的“ Goals and Options”来执行特定的Maven目标,比如`maven-war-plugin`插件的`war:war`目标用于生成WAR文件,`maven-ear-plugin`用于生成EAR文件,适用于企业级Java应用。...

    maven resource

    - 新建`MAVEN_REPO`环境变量,值为`%MAVEN_HOME%\repository`。 - 将`%MAVEN_HOME%\bin;`添加到系统`PATH`环境变量中,这样可以在命令行中使用Maven命令。 ##### 3. Eclipse集成配置 - **Eclipse环境变量配置**...

    maven简单例子

    例如,maven-jar-plugin用于创建JAR文件,maven-war-plugin用于创建WAR文件,maven-deploy-plugin则用于部署项目到远程仓库。 5. **部署过程**:在"maven 部署示例"中,我们将关注如何使用Maven-deploy-plugin部署...

Global site tag (gtag.js) - Google Analytics