Maven插件详解
来源:互联网 发布:正商集团怎么样知乎 编辑:程序博客网 时间:2024/06/06 14:10
插件与插件目标
Maven定义了三套相互独立的生命周期,每套生命周期都有多个生命周期阶段,而这些阶段都是抽象的,不做任何工作。真正完成工作的是绑定在生命周期阶段的插件目标。插件以独立的构件形式存在,一个插件可能有一个或多个插件目标。生命周期的某个阶段可以绑定一个或多个插件目标;一个插件目标也可以绑定到一个或多个生命周期阶段。他们是多对多的关系。
插件绑定
内置绑定
Maven遵循约定优于配置的原则,在生命周期的核心阶段都默认绑定了插件目标,具体如下:
clean生命周期默认绑定:
site生命周期默认绑定:
default生命周期默认绑定(packaging为jar):
maven官网生命周期与绑定文档
maven官网default生命周期阶段与插件绑定文档
自定义绑定
除了内置绑定外,我们还可以自定义绑定,如下所示,将maven-source-plugin插件的jar-no-fork插件目标绑定到了default生命周期的verify阶段:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>2.1.1</version> <executions> <execution> <id>attach-sources</id> <phase>verify</phase> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
插件参数配置
命令行方式
可以在命令行中定义插件的参数,如:
mvn clean install -DskipTests=true
上面例子中的skipTests即为maven-surefire-plugin插件的skipTests参数的表达式。使用上面的参数配置,将跳过测试阶段。
pom中配置
也可以在pom文件中配置插件的参数,如:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.5</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin>
上面的配置和在命令行设置“-DskipTests=true”作用是一样的,只不过这样在pom中设置了之后,每一次都会跳过测试阶段。
在线获取插件信息
maven官网插件详情
(声明:本文是学习了大牛徐晓斌的Maven3 in Action之后的总结,仅用于学习交流。)
0 0
- Maven插件详解
- Maven插件详解
- eclipse中maven插件详解
- eclipse中maven插件详解
- eclipse中maven插件详解
- eclipse中maven插件详解
- maven 常用插件配置详解
- Maven常用插件配置详解
- maven常用插件配置详解
- eclipse中maven插件详解
- maven的各种插件详解
- Apache Maven Assembly插件详解
- Apache Maven Shade插件详解
- maven详解之生命周期与插件(一)
- maven详解之生命周期与插件(二)
- Eclipse中Tomcat7 Maven插件详解
- maven详解之生命周期与插件
- Maven变量及常见插件配置详解
- log4j详细使用
- UML第十集(10,11)之类图
- UVa 514 Rails(栈)
- HttpClient
- C语言数据结构之线性表的基本操作
- Maven插件详解
- Deep learning: 用NN实现数据的降维
- jsp小结05 - 7个动作指令02 include
- nginx+jwplayer配置flv/MP4点播系统, 视频拖动支持
- Python小知识积累之read,readline,readlines
- jsp小结06 - 7个动作指令03 useBean、setProperty、getProperty
- Object-C系列-<深入CoreData与问题整理>
- HDU1013 Digital Roots
- CocoaPods的使用 ,安装 - 下载 - 更新 - 使用常见问题。