maven-lifecycle聚合继承

在这里插入图片描述在这里插入图片描述

将插件的1至多个goal绑定到某个生命周期阶段上

<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>2.4</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<phase>verify</phase>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

插件配置:
1 -Dmaven.skip.test=true, -D设置了java系统属性,插件目标执行时读取相应java系统属性, 注意-DskipTests会编译测试类
2 对插件进行全局配置

<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>

3 对插件进行局部配置,放于execution标签内的configuration

无groupId的为maven官方插件,即groupId为org.apache.maven.plugins
插件版本未指定?super pom已指定核心插件版本,自己定义了plugin未指定版本:自动解析为仓库(包括本地和远程)可用的最新非快照版本

继承:parent的packaging必须为pom,下面的relativePath是可选的,优先通过项目相对路径去找parent,找不到再本地仓库找
在这里插入图片描述

groupId,version都是可以继承的,也就是说child定义一个artifactId就可以了,基本上绝大部分都可以被继承。
dependencyManagement下可定义scope为import且type为pom(一般是父项目或聚合项目)的依赖,作用为将目标pom的dependencyManagement也加入当前pom的dependencyManagement内
同样pluginManagement的配置也必须在plugin内出现才能生效

聚合:聚合项目的packaging必须为pom,modules:定义了多个module的相对路径,反应堆理论上是按顺序build,但要考虑到依赖关系,如先1后2,但1依赖于2,那么就变成先2后1了

属性: 注意dollar与大括号之间无空格,为了表示我才加的
1 内置属性:$ {basedir}:项目根目录,$ {version}
2 pom:引用pom文件中对应元素,如 $ {project.version}
3自定义:properties下自定义
4Setting属性:引用setting.xml文件中对应元素 如 $ {settings.localRepository}
5 java 系统属性:$ {user.home}
6环境变量:$ {env.JAVA_HOME}

资源过滤:如何在资源copy的同时替换其中的maven属性
在这里插入图片描述
在这里插入图片描述

假设webapp的一些js等也需要配置资源过滤,可以在war插件内配置
在这里插入图片描述
Profile:
定义:pom或setting.xml文件中。
激活:
1 命令行:-P
2 setting.xml: activeProfiles
在这里插入图片描述
3 profile定义内:通过activation来指定java系统属性,操作环境是否匹配,文件是否存在,默认激活等多种方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值