项目中需要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 插件安装与配置指南 #### 一、引言 在现代软件开发过程中,Maven作为一款强大的构建工具,极大地简化了项目的构建流程。为了更好地集成Maven的功能,Eclipse提供了名为Eclipse Maven ...
可以使用maven-dependency-plugin的analyze-only目标检查未使用的依赖,并使用maven-clean-plugin清理项目目标目录。 **8. 配置Maven镜像** 为了加快依赖下载速度,开发者可以配置Maven使用国内的镜像源。在...
**正文** "Eclipse Maven Plugin" 是一个专门为Eclipse集成开发环境设计的插件,它使得在Eclipse中管理和构建Maven项目变得更为便捷。...无论是新建Maven项目,还是管理已有的Maven项目,这个插件都是不可或缺的工具。
eclipse新建maven项目时,pom.xml文件第一行报错: org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration) 解决...
Maven更新问题 今天Maven在更新的时候发现一直更新不成功,总结下解决方法。 在apache-maven-3.5.2/conf/setting.xml中加入以下配置即可解决 alimaven aliyun maven ...
本文将详细解析“新建maven工程包含源码和文档”的主题,并基于提供的标签和文件名称,探讨如何创建一个完整的Maven项目,以及如何在项目中包含源码和文档。 首先,创建一个Maven项目的基本步骤如下: 1. **安装...
maven2的插件,用于在eclipse下进行maven2的快速配置 打开eclipse .选择菜单 window ->preferences ; 在新打开的对话框的左边的一列会看到一个名为Maven2的选项。鼠标单击,然后点击右边的Local Repository Folder ...
本文将详细介绍如何解决新建Maven项目后POM.xml文件出现错误的情况。 ### 一、理解POM.xml POM.xml是Maven项目的核心配置文件,它定义了项目的构建规则、依赖关系以及其他Maven生命周期所需的信息。当POM.xml文件...
4、在links中新建maven.txt文件,内容为插件地址,例如:path=D:\eclipse_gzds\myplugins\maven(注意这里斜杠,不是反斜杠) 5、将maven.txt扩展名改为maven.lin 6、在eclipse根目录下找到eclipse.ini并打开,在...
1,打开你本地的eclipse根目录,随便新建一个文件夹例如mavenPlugin,把maven离线插件包中两个文件夹复制到这个新建的这个文件夹里边. 2,找到eclipse根目录下的dropins文件夹,进去后,新建一个.link文件,例如maven...
解压到eclipse安装目录的根目录下1、新建links和mavenPlugin文件夹 2、将插件包里的feature和plugin放到mavenPlugin里面3、在links里面新建maven.link文件,内容为path=mavenPlugin文件夹的目录 3、重起eclipse ...
- **Maven_HOME**:在系统环境变量中新建一个名为`Maven_HOME`的变量,将其值设置为解压后的Maven目录路径,如`C:\Program Files\apache-maven-3.8.8`。 - **Path**:在用户或系统环境变量的`Path`中添加`%Maven_...
1、在eclipse目录下的dropins目录下新建一个maven.link文件,文件名不受限制 2、在maven.link文件中指向maven插件:path=..mypluginmaven3 3、从新启动eclipse,window-首选项,找到maven标签进行设置 4.apache-mave...
标题 "maven3 + jetty 新建webapp" 涉及到的是使用Apache Maven 3构建工具和Jetty轻量级应用服务器来创建一个新的Web应用程序的过程。在Java开发领域,Maven是广泛使用的项目管理和集成工具,它帮助管理项目的构建、...
插件安装时,我们只需在eclipse根目录下新建一个【links】目录,然后在里面创建【.link】扩展名的文件,在里面写上类似于【path=F:\\IDE\\eclipsePlugin\\maven2】这样的配置信息,不就可以统一管理我们自己的插件了...
在Eclipse中,我们还可以通过Maven的“ Goals and Options”来执行特定的Maven目标,比如`maven-war-plugin`插件的`war:war`目标用于生成WAR文件,`maven-ear-plugin`用于生成EAR文件,适用于企业级Java应用。...
- 新建`MAVEN_REPO`环境变量,值为`%MAVEN_HOME%\repository`。 - 将`%MAVEN_HOME%\bin;`添加到系统`PATH`环境变量中,这样可以在命令行中使用Maven命令。 ##### 3. Eclipse集成配置 - **Eclipse环境变量配置**...
例如,maven-jar-plugin用于创建JAR文件,maven-war-plugin用于创建WAR文件,maven-deploy-plugin则用于部署项目到远程仓库。 5. **部署过程**:在"maven 部署示例"中,我们将关注如何使用Maven-deploy-plugin部署...