Maven自定义绑定插件
来源:互联网 发布:debian和ubuntu关系 编辑:程序博客网 时间:2024/05/29 03:05
最近学生经常说m2eclipse中自定义绑定插件失败,先整理一个流程作为大家参考:
目标:在执行mvn test的时候,对于一个web项目,自动启动jetty
1,首先找到jetty插件,查看其提供的插件目标:
找到jetty插件地址:http://wiki.eclipse.org/Jetty/Feature/Jetty_Maven_Plugin
找到jetty的groupId和artifactId:
运行mvn help:describe命令来查看插件提供的目标:
mvn help:describe -Dplugin=org.mortbay.jetty:jetty-maven-plugin
可以看到,jetty有很多的插件目标,其中run和start目标都可以用来启动jetty服务器;而说明也很清楚,如果想把jetty绑定到execution中,适合用jetty:start;
2,我们查看test命令的生命周期:
validate:
initialize:初始化工作
generate-sources:
process-sources: 复制并处理资源文件,至目标目录,准备打包。
compile: 编译项目的源代码。
process-classes:
generate-test-sources:
process-test-sources:复制并处理资源文件,至目标测试目录。
test-compile:编译测试源代码。
process-test-classes:在测试前的工作
test:使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。
可以看到,当执行mvn test的时候,也就执行这么多阶段;那么我们适合把启动jetty放在process-test-classes阶段;
3,打开一个web项目pom.xml文件:
<build>...<plugin><groupId>org.mortbay.jetty</groupId><artifactId>jetty-maven-plugin</artifactId><executions><execution><phase>process-test-classes</phase><goals><goal>start</goal></goals></execution></executions></plugin></build>
但是我们发现,eclipse会报错,
这是m2eclipse插件本身的问题,m2eclipse会去检查每个maven插件的生命周期,而有些插件并没有定义生命周期,我们只需要配置m2eclipse去忽略检查这些插件的生命周期即可;
打开preferences:
在任意位置新建一个XML文件,比如在e:\workspance\dev2下创建一个lf.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?><lifecycleMappingMetadata> <pluginExecutions> <pluginExecution> <pluginExecutionFilter> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <goals> <goal>start</goal> </goals> <versionRange>[0.0,)</versionRange> </pluginExecutionFilter> <action> <ignore /> </action> </pluginExecution> </pluginExecutions></lifecycleMappingMetadata>
在lifecycle mappings中点browse,选中这个lf.xml文件,并且点击
然后点击项目-maven-update project;可以看到错误消失;
4,执行test:
执行mvn test,可以看到输出:
Jetty服务器已经在test命令中启动完成;
- Maven自定义绑定插件
- Maven自定义绑定
- 自定义maven archetype插件
- 自定义Maven插件
- maven 自定义插件开发
- maven 自定义插件开发
- maven自定义插件开发
- Maven(插件配置和生命周期的绑定)
- skip跳出Maven自定义插件
- maven自定义插件-mojo标注和参数
- Maven assembly插件进行自定义构建
- Maven之——插件目标及绑定
- Maven之——插件目标及绑定
- maven 自定义打包插件maven-assembly-plugin不完全记录
- knockoutjs + easyui.treegrid 可编辑的自定义绑定插件
- HighCharts 图表插件 自定义绑定 时间轴数据
- Maven之——插件目标及绑定、命令行调用插件、目标前缀(插件前缀解析策略)、插件解析运行机制
- Maven学习总结(27)——Maven自定义打包插件maven-assembly-plugin详解
- 河南郑州净化工程
- java内部类小结
- 提问的智慧
- NTFS For Mac功能之轻松修改Mac上ntfs参数
- 二.Spring学习之旅----SpringMVC配置详解
- Maven自定义绑定插件
- XMPP协议之Openfire安装与使用
- 新建java工程/web工程需要注意的事项
- MyBatis学习
- 2012年5月SAT香港真题解析
- lua
- python 合并列表的列表
- Android又一个超漂亮的日历控件
- JS客户端RSA加密,Java服务端解密