Maven 服务中配置构建过程Profiles 配置说明
一、Maven Setting 文件中Profiles配置说明
1.1、Profiles 根据环境参数来调整构建配置的列表
settings.xml中的profile元素是pom.xml中profile元素的裁剪版本。
它包含了id、activation、repositories、pluginRepositories和 properties元素。这里的profile元素只包含这五个子元素是因为这里只关心构建系统这个整体(这正是settings.xml文件的角色定位),而非单独的项目对象模型设置。如果一个settings.xml中的profile被激活,它的值会覆盖任何其它定义在pom.xml中带有相同id的profile。
<profiles>
<profile>
<!-- profile的唯一标识 -->
<id>test</id>
<!-- 自动触发profile的条件逻辑 -->
<activation />
<!-- 扩展属性列表 -->
<properties />
<!-- 远程仓库列表 -->
<repositories />
<!-- 插件仓库列表 -->
<pluginRepositories />
</profile>
</profiles>
1.2、Activation 自动触发profile的条件逻辑
如pom.xml中的profile一样,profile的作用在于它能够在某些特定的环境中自动使用某些特定的值;这些环境通过activation元素指定。
activation元素并不是激活profile的唯一方式。settings.xml文件中的activeProfile元素可以包含profile的id。profile也可以通过在命令行,使用-P标记和逗号分隔的列表来显式的激活(如,-P test)。
<activation>
<!--profile默认是否激活的标识 -->
<activeByDefault>false</activeByDefault>
<!--当匹配的jdk被检测到,profile被激活。例如,1.4激活JDK1.4,1.4.0_2,而!1.4激活所有版本不是以1.4开头的JDK。 -->
<jdk>1.5</jdk>
<!--当匹配的操作系统属性被检测到,profile被激活。os元素可以定义一些操作系统相关的属性。 -->
<os>
<!--激活profile的操作系统的名字 -->
<name>Windows XP</name>
<!--激活profile的操作系统所属家族(如 'windows') -->
<family>Windows</family>
<!--激活profile的操作系统体系结构 -->
<arch>x86</arch>
<!--激活profile的操作系统版本 -->
<version>5.1.2600</version>
</os>
<!--如果Maven检测到某一个属性(其值可以在POM中通过${name}引用),其拥有对应的name = 值,Profile就会被激活。如果值字段是空的,那么存在属性名称字段就会激活profile,否则按区分大小写方式匹配属性值字段 -->
<property>
<!--激活profile的属性的名称 -->
<name>mavenVersion</name>
<!--激活profile的属性的值 -->
<value>2.0.3</value>
</property>
<!--提供一个文件名,通过检测该文件的存在或不存在来激活profile。missing检查文件是否存在,如果不存在则激活profile。另一方面,exists则会检查文件是否存在,如果存在则激活profile。 -->
<file>
<!--如果指定的文件存在,则激活profile。 -->
<exists>${basedir}/file2.properties</exists>
<!--如果指定的文件不存在,则激活profile。 -->
<missing>${basedir}/file1.properties</missing>
</file>
</activation>
注:在maven工程的pom.xml所在目录下执行mvn help:active-profiles命令可以查看中央仓储的profile是否在工程中生效。
二、Maven 服务 POM 文件中的 Profiles 设置
- profiles: #在列的项目构建profile,如果被激活,会修改构建处理
- –profile: #根据环境参数或命令行参数激活某个构建处理
- —-id: #构建配置的唯一标识符。即用于命令行激活,也用于在继承时合并具有相同标识符的profile
- —-activation: #自动触发profile的条件逻辑。Activation是profile的开启钥匙。profile的力量来自于它
- 能够在某些特定的环境中自动使用某些特定的值;这些环境通过activation元素指定。activation元素并不是激活profile的唯一方式
- ——activeByDefault: #profile默认是否激活的标志
- ——jdk: #当匹配的jdk被检测到,profile被激活
- ——os: #当匹配的操作系统属性被检测到,profile被激活。
- ——–name: Windows XP
- ——–family: Windows
- ——–arch: x86
- ——–version: 5.1.2600
- ——property: #如果Maven检测到某一个属性(其值可以在POM中通过${名称}引用),其拥有对应的名称和值,Profile就会被激活。如果值字段是空的,那么存在属性名称字段就会激活profile,否则按区分大小写方式匹配属性值字段
- ——–name: mavenVersion
- ——–value: 2.0.3
- ——file: #提供一个文件名,通过检测该文件的存在或不存在来激活profile。
- ——–exists: /usr/–/maven-guide-zh-to-production/workspace/ #如果指定的文件存在,则激活profile
- ——–missing: /usr/–/maven-guide-zh-to-production/ #如果指定的文件不存在,则激活profile
- —-build: #构建项目所需要的信息。参见build元素
- —-modules: #模块(有时称作子项目) 被构建成项目的一部分。列出的每个模块元素是指向该模块的目录的相对路径
- —-repositories: #发现依赖和扩展的远程仓库列表。
- ——repository: #参见repositories/repository元素
- ——–releases:
- ———-enabled:
- ———-updatePolicy:
- ———-checksumPolicy:
- ——–snapshots:
- ———-enabled:
- ———-updatePolicy:
- ———-checksumPolicy:
- ——–id:
- ——–name:
- ——–url:
- ——–layout:
- —-pluginRepositories: #发现插件的远程仓库列表,这些插件用于构建和报表
- ——pluginRepository: #包含需要连接到远程插件仓库的信息.参见repositories/repository元素
- —-dependencies: #描述了项目相关的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。
- ——dependency: #参见dependencies/dependency元素
- —-reports: #不赞成使用. 现在Maven忽略该元素
- —-reporting: #该元素包括使用报表插件产生报表的规范。当用户执行“mvn site”,这些报表就会运行。 在页面导航栏能看到所有报表的链接。
- —-dependencyManagement: #参见dependencyManagement元素
- ——dependencies:
- ——–dependency: #参见dependencies/dependency元素
- —-distributionManagement: #参见distributionManagement元素
- —-properties:
原文
https://cn-blogs.cn/archives/8376.html
正文到此结束