项目中需要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
分享到:
相关推荐
Maven更新问题 今天Maven在更新的时候发现一直更新不成功,总结下解决方法。 在apache-maven-3.5.2/conf/setting.xml中加入以下配置即可解决 alimaven aliyun maven ...
eclipse新建maven项目时,pom.xml文件第一行报错: org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration) 解决...
maven2的插件,用于在eclipse下进行maven2的快速配置 打开eclipse .选择菜单 window ->preferences ; 在新打开的对话框的左边的一列会看到一个名为Maven2的选项。鼠标单击,然后点击右边的Local Repository Folder ...
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 ...
1、在eclipse目录下的dropins目录下新建一个maven.link文件,文件名不受限制 2、在maven.link文件中指向maven插件:path=..mypluginmaven3 3、从新启动eclipse,window-首选项,找到maven标签进行设置 4.apache-mave...
第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.2 新建maven项目 第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.3 将项目保存到SVN(SVN:版本管理工具) 第11章:用Maven管理项目版本/11.4 版本管理...
插件安装时,我们只需在eclipse根目录下新建一个【links】目录,然后在里面创建【.link】扩展名的文件,在里面写上类似于【path=F:\\IDE\\eclipsePlugin\\maven2】这样的配置信息,不就可以统一管理我们自己的插件了...
一,新建一个简单的Maven工程,这个Maven工程只含一个pom文件,他是管理各个模块的父级POM,如: Xml代码 <packaging>pom</packaging> <modules> <module>app-utils</module> <module>app-dao</module> ...
新建maven project File->New->Project 选择Maven Project 选择项目路径 Use default Workspace location默认工作空间 选择项目类型 在Artifact Id中选择maven-archetype-webapp 输入Group ID和 Artifact ID,...
土拨鼠-opencms-maven-插件 一个帮助 Opencms 模块开发的 Maven 插件。 在查看它的实际效果 发布目标 通过 JLAN 服务器将修改后的资源发布到 opencms 配置属性 < url>smb://Admin:admin@...新建一个maven项目(打包ja
apply plugin: 'maven' 表示我们要应用的插件。 MAVEN_LOCAL_PATH表示maven服务器地址,packaging表示需要打包的类型,groupId:artifactId:version,就是我们需要依赖的字段。 上传aar到maven服务器 在studio中...
两个环境对应不同的代码、资源文件,考虑到复用问题,因此新建一个library集成这个SDK,并上传到公共库,之后在项目中直接依赖即可。 2、需求及实现 2.1、需求 因为分两个版本,且版本的代码、资源各不相同,因此这...
新建maven项目,添加findbugs plugin。 使用docker启动jenkins,gogs,Tomcat的命令gogs : 代码如下: docker run -itd -p 10022:22 -p 10080:3000 –restart=always –privileged=true –name=gogs -v /var/gogs...
新建虚拟机,安装Ubuntu 3 锐捷校园认证下虚拟机Ubuntu 的联网设置 11 熟悉Ubuntu系统 13 安装SSH、配置SSH无密码登陆 20 安装Java环境 22 安装Hadoop 24 Hadoop伪分布式配置 25 启动Hadoop 26 运行Hadoop伪...
## 1.maven打包首先在编译之前需要注意我们在maven-compile-plugin中有个参数配置, -proc:none -proc:{none | only}:交替情况下,javac会运行注解处理器并编译全部源文件。如果使用了proc:none选项,那么所有...
springboot热部署两种方式 ... spring-boot-maven-plugin true 1.3 setting设置自动编译项目 ctrl+alt+shift+/ 点击Registry 2. 手动热部署 2.1 导依赖 同自动热部署 2.2 插件配置 同自动热部署 2.3