一直想学习下maven插件,可是没有中文文档。只好去官网上找了。居然看到一个插件开发指南。想我英语就停留在初中水品居然看懂了。
闲话说完。用Maven开发一个插件我觉得分以下几步:
1、添加maven-plugin-api依赖。
2、写个类来实现AbstractMojo。
3、编译安装自己的插件。
4、测试写好的插件。
一、新建个maven项目,添加依赖。
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.0.3</version>
</dependency>
二、实现AbstractMojo抽象类
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
/**
* Says "Hi" to the user.
* @goal sayhi
*/
public class GreetingMojo extends AbstractMojo
{
public void execute() throws MojoExecutionException
{
getLog().info("Hello, world.");
}
}
三、在命令行执行:mvn clean instal。则插件编译打包到本地仓库中。
四、测试完成的插件。
1、在插件本项目或者其他maven项目中添加写好的插件:
<build>
...
<plugin>
<groupId>com.test</groupId>
<artifactId>plugin-hello</artifactId>
<version>1.0</version>
</plugin>
...
</build>
2、在命令行运行。
mvn groupID:artifactID:version:goal
例如:mvn com.test:plugin-hello:1.0:sayhi
总体的调用感觉就和直接运行java Test这样调用Test类的main方法一样。实现原理可能是通过groupID:artifactID:version这三个坐标找到具体的插件包,然后扫描注解为@goal的,如果找到匹配的话就自动运行execute方法。(没去看源码,只是猜测的实现原理)
分享到:
相关推荐
2. **构建工具**: Maven支持多种构建插件,如Jetty插件可以实现快速的本地调试,War插件用于打包Web应用。 3. **持续集成**: Maven与持续集成工具如Jenkins、GitLab CI/CD等配合良好,可以自动化构建、测试和部署...
【标题】"maven+springside 开发入门"涉及的主要知识点是 Maven 和 Springside 这两个关键的Java开发工具。Maven 是一个项目管理和综合工具,它可以帮助开发者构建、管理和部署Java项目,而Springside则是一个基于...
** Maven JavaWeb 入门详解 ** Maven 是一个强大的项目管理和依赖管理工具,尤其在JavaWeb开发中,它能够帮助开发者有效地构建、管理和部署项目。本教程将引导你了解如何使用Maven来构建JavaWeb应用程序,以"web...
- 插件安装:Eclipse Mars.2以及更高版本已内置Maven插件,此步可跳过;MyEclipse用户可在线安装最新版本的Maven插件。 - 配置Eclipse:在Eclipse中设置Maven的安装目录并更新Maven的User Settings。 3. 导入和...
- Maven插件可以通过POM进行配置,添加自定义的参数和目标。 ### Maven与IDE集成 - Maven可以无缝集成到主流的Java IDE,如Eclipse、IntelliJ IDEA,方便进行项目构建和管理。 通过《Maven权威指南》这本书,读者...
"Maven3应用入门session.pptx"文件可能包含了关于Maven3的更多细节,如POM的配置示例、生命周期的详细解释、插件的使用方法以及实际项目中的最佳实践。通过阅读这个PPT,你可以深入理解Maven3的工作原理,并学会如何...
本文将详细介绍 JEECG3.4.3-MAVEN 版本的入门指南,使用 Eclipse 作为开发工具,通过 Maven 进行项目构建和管理。 一、Maven 环境搭建 Maven 是一个基于项目对象模型(POM)的项目管理工具,能够帮助开发者更好地...
此外,为了在集成开发环境(IDE)中更加便捷地使用Maven,书中还介绍了如何安装m2eclipse和NetBeans Maven插件。 在Maven的使用入门章节,学习者将了解到如何编写项目对象模型(POM)文件,这是Maven项目的核心配置...
#### Maven插件与扩展 Maven的灵活性来源于其插件系统,插件负责执行特定的构建任务。Maven内置了一些常用的插件,如编译插件、测试插件、打包插件等。用户还可以通过配置`<build><plugins>`来添加或定制插件,以...
** Maven 2.0.9 入门指南 ** Maven 是一个强大的项目管理工具,主要应用于Java项目构建、依赖管理和项目信息管理。Maven 2.0.9 是该工具的一个版本,虽然现在已经有了更高级的版本,但对于初学者来说,它仍然是一个...
** Maven2 快速入门教程 ** Maven是Apache软件基金会开发的一款项目管理和集成工具,主要应用于Java项目。Maven2是Maven的第一个稳定版本,它极大地简化了项目的构建、依赖管理和文档生成过程。本教程将带你一步步...
项目通常基于Maven或Gradle构建,利用IntelliJ IDEA提供的插件开发模板来创建新项目。 2. 插件配置文件:每个IntelliJ IDEA插件都有一个`plugin.xml`文件,它是插件的核心配置文件,用于声明插件的组件、依赖、菜单...
maven入门到精通 用 Maven 做项目管理 在 Java世界中我们很多的开发人员选择用 Ant来构建项目,一个 build.xml能够完成编译、测试、打包、部署等很多任务,但我们也碰到了很多的问题,如 jar文件管理混乱,各个...
而本案例中的Eclipse-Smart自带Maven插件的安装包则省去了这一步骤,用户可以直接使用Eclipse进行Maven项目的开发,大大提高了开发效率。 #### 三、Eclipse-Smart自带Maven插件的安装包特点 - **自动配置**:该...
4. **自定义插件**:开发自己的插件以扩展Maven的功能。 5. **依赖范围**:控制依赖的生效范围,如编译时、测试时、运行时等。 【总结】 Maven是Java开发中的重要工具,它简化了项目的构建和管理,通过标准化的POM...
Maven插件可以执行各种任务,如Javadoc生成、代码覆盖率报告、自动化部署到服务器等,极大地简化了开发流程。 **内部仓库使用** 企业内部可以设置私有的Maven仓库,存储内部开发的库,确保依赖的安全性和可控性。 ...
** Maven 入门指南 ** Maven 是一个强大的项目管理和构建工具,广泛应用于...通过这个入门级的 "maven 入门demo",你已经掌握了 Maven 的基础,接下来可以深入学习更多高级特性和最佳实践,提升你的 Java 开发效率。
### Maven实战——入门篇 #### Maven简介与概念 Maven是一种强大的、跨平台的项目管理工具,主要用于基于Java平台的项目构建、依赖管理和项目信息管理。无论是小型的开源类库项目还是大型的企业级应用,Maven都能...