maven插件编写与调试
来源:互联网 发布:unity3d 调用 so 编辑:程序博客网 时间:2024/04/29 18:07
maven常见的插件有compile插件,deploy插件,jetty插件等等,这些插件有的是主动去执行,有的是在maven特定的生命周期中执行。我们需要在这些生命周期自动或者手动去执行一些嵌入的功能,比如生成辅助代码,一些环境的配置之类的,最好就是用插件去完成。
validatecompile test packageintegration-test verify installdeploy1、新建一个maven的simple project。
2、在maven的pom中加入一个maven-plugin-api依赖以及maven-plugin-plugin插件,并将对应的package类型改为maven-plugin
<packaging>maven-plugin</packaging>...<dependencies> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-plugin-api</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-utils</artifactId> <version>1.1</version> </dependency> </dependencies>...<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-plugin-plugin</artifactId> <version>3.0</version> <executions> </executions> <configuration> <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound> </configuration></plugin>3、编写一个类继承AbstractMojo并且实现execute方法,并在类注释中用@goal标注插件执行的单元
import org.apache.maven.plugin.AbstractMojo;import org.apache.maven.plugin.MojoExecutionException;import org.apache.maven.plugin.MojoFailureException;/** * @goal hello * @phase process-sources */public class MojoExample extends AbstractMojo {</span> public void execute() throws MojoExecutionException, MojoFailureException { getLog().info("Hello world~~~~~~~~~~~~~~~~~~~~~~~~~~~~"); } }打包后,用mvn install到本地仓库,然后在项目中就可以引入对应的plugin
<plugin> <groupId>com.xxx</groupId> <artifactId>plugintest</artifactId> </plugin>执行:mvn groupID:artifactID:version:goal
4、最后说一下调试吧,我用的是intellij,在intellij中开发这个项目的时候,将插件加入某个项目作为其module,然后在pom文件中引入插件,并且在intellij的Terminal中用
mvnDebug groupID:artifactID:version:goal 来启动插件,并且在插件的execute方法中打上断点。这个是maven的远程调试,我们必须在intelli中用remote来连接过去。新增一个执行,然后端口设置为8000,然后启动即可。
github上有很多现成的插件的源码,随便找一个去研究研究,模仿一下就行了,最重要的是明白自己需要做什么。
0 0
- maven插件编写与调试
- 编写maven插件。
- Maven插件编写
- Maven插件的编写
- 如何编写Maven插件
- 编写简单的maven插件
- 再续maven 编写自己的maven插件
- maven学习3:编写maven插件
- Maven学习4:编写maven插件补充
- Maven学习 (七) 自己动手编写Maven插件
- Maven学习 (七) 自己动手编写Maven插件
- eclipse里面调试maven插件
- maven生命周期与插件
- maven插件与生命周期
- Maven 生命周期与插件
- maven生命周期与插件
- maven生命周期与插件
- Maven插件与目标
- HDU 2845 Beans
- win搭建git服务器
- 实现ES5以下兼容,Object.create()、getElementsByClassName()
- COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问。
- 顺序栈S中有2n个元素,从栈顶到栈底的元素依次为a2n、a2n-1、…、a1。试设计一个算法:通过一个循环队列重新排列该栈中的元素,使得从栈顶到栈底的元素先偶数,后奇数
- maven插件编写与调试
- 解决ListView在ScrollView中滑动冲突
- 使用PHP创建一个REST API(Create a REST API with PHP)
- 语言基础——Java_selectSort & bubbleSort
- 教你如何查看一款App里面所包含的图片
- 高仿京东APP首页“京东快报”自动向上滚动的广告条
- hdoj 1878 欧拉回路 (并查集+欧拉)
- 解决软键盘对fixed的影响
- Redis学习笔记(二)Redis持久化