maven pom.xml文件 简单解析
来源:互联网 发布:怎么对比两列数据图表 编辑:程序博客网 时间:2024/06/05 15:25
pom.xml
文件。POM 也包含了目标和插件。在执行任务或目标时,Maven 会使用当前目录中的 POM。它读取POM得到所需要的配置信息,然后执行目标。部分的配置可以在 POM 使用如下:
- project dependencies
- plugins
- goals
- build profiles
- project version
- developers
- mailing list
创建一个POM之前,应该要先决定项目组(groupId),它的名字(artifactId)和版本,因为这些属性在项目仓库是唯一标识的。
- 所有的 POM 文件要项目元素必须有三个必填字段:
groupId
,artifactId
,version
- 在库中的项目符号是:
groupId:artifactId:version
- pom.xml 的根元素是
project
,它有三个主要的子节点。
com.company.bank
拥有所有银行相关项目。artifactId这是项目的ID。这通常是项目的名称。 例如,consumer-banking
。 除了groupId
之外,artifactId
还定义了artifact
在存储库中的位置。version
这是项目的版本。与groupId
一起使用,artifact
在存储库中用于将版本彼此分离。 例如:com.company.bank:consumer-banking:1.0
,com.company.bank:consumer-banking:1.1
1、extensions:true/false,是否加载plugin的extensions,默认为false;
2、inherited:true/false,这个plugin是否应用到该POM的孩子POM,默认true;
3、configuration:配置该plugin期望得到的properies,如上面的例子,我们为maven-jar-plugin的Mojo设置了classifier属性;
如果你的POM有一个parent,它可以从parent的build/plugins或者pluginManagement集成plugin配置。
为了阐述继承后的关系,考虑如果parent POM中存在如下plugin:
然后在继承的孩子POM中做如下配置:
这样孩子POM和parent POM中都存在groupId为my.group的plugin,Maven默认的行为将是根据属性名称将两个plugin的configuration的内容进行合并。如果孩子POM中有一个属性,则该属性是有效的,如果孩子POM中没有一个属性,但parent POM中存在,则parent中的属性是有效的。
根据这些规则,上面的例子在Maven中将得到:
通过在configuration元素中增加combine.children和combine.self属性,孩子POM可以控制Maven怎么合并plugin的configuration。
假定这儿是孩子POM的configuration:
则,现在合并后的效果如下:
combine.children="append"表示父POM和子POM的属性合并起来;
combine.self="override"表示子POM的属性完全覆盖父POM的。
4、dependencies:同base build中的dependencies有同样的结构和功能,但这里是作为plugin的依赖,而不是项目的依赖。
5、executions:plugin可以有多个目标,每一个目标都可以有一个分开的配置,甚至可以绑定一个plugin的目标到一个不同的阶段。executions配置一个plugin的目标的execution。
假定一项绑定antrun:run目标到verify阶段,我们希望任务响应build文件夹,同时避免传递配置到他的孩子POM。你将得到一个execution:
id:标识,用于和其他execution区分。当这个阶段执行时,它将以这个形式展示:[plugin:goal execution: id]。在这里为: [antrun:run execution: echodir];
goals:一个plugin的execution的目标列表;
phase:目标执行的阶段,具体值看Maven的生命周期列表;
inherited:是否继承;
configuration:在指定的目标下的配置。
- maven pom.xml文件 简单解析
- Maven pom.xml 文件解析
- Maven pom.xml 文件解析
- Maven的核心文件pom.xml解析
- Maven的pom.xml文件解析
- maven pom.xml文件
- maven pom.xml文件
- maven pom文件解析
- maven pom文件解析
- Maven POM文件解析
- 简单了解maven中的settings.xml和pom.xml文件
- pom.xml文件解析
- maven的pom.xml解析
- maven 中pom.xml解析
- Maven的pom.xml解析
- maven pom.xml配置解析
- Maven中pom.xml解析
- Maven中的pom.xml解析
- mysql左右内连接一句话理解
- 理解Android的SurfaceView
- Spring--第一天
- GCC 提供的原子操作
- Nodejs基础:路径处理模块path总结
- maven pom.xml文件 简单解析
- C# 实现Excel导出图片
- 洛谷P2296 寻找道路
- 网络地址和主机地址
- JAVA线程
- Linux中kill -2、kill -9等区别 && kill signal汇总
- Educational Codeforces Round 25 E. Minimal Labels
- Memcached 清除缓存命令
- AI浅谈