网上有很多Maven插件的编写,我在这里只是对自己做的总结下。
第一步:插件编写:
插件pom.xml文件
<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>comtop.maven</groupId> <artifactId>MavenPlugin</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>maven-plugin</packaging> <distributionManagement> <snapshotRepository> <id>shakeMavenRepository</id> <url>http://10.10.31.108:8888/nexus/content/repositories/shakeMavenRepository</url> </snapshotRepository> </distributionManagement> <dependencies> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> <version>3.0.5</version> </dependency> </dependencies> </project>这里需要注意的是Maven插件的<packaging>必须是maven-plugin,Maven插件必须依赖maven-plugin-api。
插件JAVA文件
package com.comtop.maven.plugin; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; /** * 一个Maven插件 * * @goal info * @phase compile * @requiresProject false */ public class MainMojo extends AbstractMojo { /** * @parameter expression="${userName}" * @required */ private String userName; /** * @parameter expression="${userAge}" * @required */ private int userAge; public void execute() throws MojoExecutionException, MojoFailureException { getLog().info(this.toString()); } public String toString() { return "userName is : " + userName + "userAge is : " + userAge; } }Java类需要继承org.apache.maven.plugin.AbstractMojo,实现execute()方法。需要传递的参数可以通过注释语句引入进来。具体的注释参考http://maven.apache.org/developers/mojo-api-specification.html。
然后将插件部署到nexus仓库中,没搭建nexus的使用mvn install安装插件
第二步:插件使用:
使用插件的pom.xml
<plugin> <groupId>comtop.maven</groupId> <artifactId>MavenPlugin</artifactId> <version>0.0.1-SNAPSHOT</version> <configuration> <userAge>122</userAge> <userName>shake</userName> </configuration> <executions> <execution> <phase>test</phase> <goals> <goal>info</goal> </goals> </execution> </executions> </plugin>文件中groupId、artifactId、version都是插件pom中对应的。configuration里面配置插件类中需要的参数。executions表示插件的执行时机,这里定义在test阶段执行插件goal为info的插件内容。这样在mvn test时,就能执行到我们的插件execute方法。如果没有搭建nexus仓库。使用
mvn comtop.maven:MavenPlugin:0.0.1-SNAPSHOT:info -DuserName='shake' -DuserAge=2测试插件是否成功。格式为:groupId:artifactId:version:goal -D参数
相关推荐
"maven3.x几个版本免安包.rar" 提供了Maven 3.x的多个版本,无需安装即可使用,这对于开发者在不同环境中快速配置或测试Maven环境非常方便。 1. Maven简介: Maven 是Apache软件基金会的一个项目,由Jason van Zyl...
Maven3是一个广泛使用的Java项目管理工具,由Apache软件基金会开发。它简化了构建、依赖管理和项目文档的生成,使得开发人员能够更高效地进行软件开发工作。Maven3的核心理念是通过标准化项目结构和使用XML格式的...
【标题】"IDEA下maven新建servlet3.x/web3.x工程模版"涉及到的主要知识点是使用IntelliJ IDEA(IDEA)结合Maven构建一个支持Servlet 3.x和Web 3.x标准的Java Web项目。Maven是一个强大的项目管理工具,能够帮助...
3. 在"Maven Home Directory"中,指定Maven的安装路径,通常是`/path/to/apache-maven-x.x.x`。 4. 在"User Settings File"中,填入`settings.xml`的路径,这通常应该是`%USER_HOME%/.m2/settings.xml`。 5. "Local ...
3. **增强的插件管理**:Maven 3.6.3对插件管理机制进行了改进,支持更好的插件版本控制和自动升级,使得开发者可以更灵活地使用和管理插件。 4. **POM处理优化**:对POM解析和处理进行了优化,提升了处理大型POM...
3. **配置插件**:在<build><plugins>中配置插件,如maven-compiler-plugin用于编译。 ### 五、Maven2常用命令 1. `mvn clean`:清理项目生成的目标文件。 2. `mvn compile`:编译源代码。 3. `mvn test`:执行...
4. **插件**: Maven通过插件机制扩展功能,如编译、测试、打包、部署等都由对应的插件实现。 5. **项目信息管理**: POM文件不仅包含依赖信息,还记录项目的基本信息,如作者、版本、描述等。 **使用Maven** 1. **...
4. **插件更新**:内置的Maven插件可能有新的功能或更新,以支持最新的技术栈。 5. **更好的用户体验**:可能改进了命令行接口,提供更友好的提示和反馈。 在使用Maven 3.8时,你需要根据自己的系统环境(Windows、...
**Maven 3的安装与配置** Maven是一款强大的Java项目管理工具,它负责构建、依赖管理和项目信息管理。在本文中,我们将详细介绍如何安装和配置Maven 3。 **一、Maven 3的安装步骤** 1. **下载**:访问Maven官方...
Apache Maven 3.x是当前广泛使用的版本,其中3.3.9是一个稳定且常用的发行版。 ** Maven的组成部分 ** 1. **POM(Project Object Model)**: Maven的核心概念,它是项目对象模型,是一个XML文件,包含了项目的配置...
3. **插件系统**:Maven的插件机制允许开发者扩展其功能。例如,编译、测试、打包、部署等构建过程都由特定的插件执行。Maven 3.3.3包含了许多内置插件,如maven-compiler-plugin用于编译源代码,maven-surefire-...
Maven 的目标是简化项目构建过程,通过标准化构建生命周期和插件机制,使得开发者可以更专注于编写代码,而不是配置构建脚本。 在给定的“apache-maven-3.8.8-bin”压缩包中,包含了 Maven 的最新稳定版本 3.8.8。...
以下是使用Jfinal3.x Eclipse插件的主要步骤: 1. **插件安装**:用户可以通过Eclipse的内置更新站点或者从官方网站下载插件安装包,然后按照Eclipse的插件安装向导进行安装。 2. **创建项目**:在Eclipse中选择...
`maven-compiler-plugin-3.8.0-source-release` 版本是 Maven 编译插件的一个特定版本,该版本包含了对 Maven 3.x 系列的支持。这个插件的主要任务包括: 1. **源代码编译**:默认使用 JDK 的 `javac` 编译器进行 ...