转载

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 设置

  1. profiles: #在列的项目构建profile,如果被激活,会修改构建处理
  2. –profile: #根据环境参数或命令行参数激活某个构建处理
  3. —-id: #构建配置的唯一标识符。即用于命令行激活,也用于在继承时合并具有相同标识符的profile
  4. —-activation: #自动触发profile的条件逻辑。Activation是profile的开启钥匙。profile的力量来自于它
  5. 能够在某些特定的环境中自动使用某些特定的值;这些环境通过activation元素指定。activation元素并不是激活profile的唯一方式
  6. ——activeByDefault: #profile默认是否激活的标志
  7. ——jdk: #当匹配的jdk被检测到,profile被激活
  8. ——os: #当匹配的操作系统属性被检测到,profile被激活。
  9. ——–name: Windows XP
  10. ——–family: Windows
  11. ——–arch: x86
  12. ——–version: 5.1.2600
  13. ——property: #如果Maven检测到某一个属性(其值可以在POM中通过${名称}引用),其拥有对应的名称和值,Profile就会被激活。如果值字段是空的,那么存在属性名称字段就会激活profile,否则按区分大小写方式匹配属性值字段
  14. ——–name: mavenVersion
  15. ——–value: 2.0.3
  16. ——file: #提供一个文件名,通过检测该文件的存在或不存在来激活profile。
  17. ——–exists: /usr/–/maven-guide-zh-to-production/workspace/ #如果指定的文件存在,则激活profile
  18. ——–missing: /usr/–/maven-guide-zh-to-production/ #如果指定的文件不存在,则激活profile
  19. —-build: #构建项目所需要的信息。参见build元素
  20. —-modules: #模块(有时称作子项目) 被构建成项目的一部分。列出的每个模块元素是指向该模块的目录的相对路径
  21. —-repositories: #发现依赖和扩展的远程仓库列表。
  22. ——repository: #参见repositories/repository元素
  23. ——–releases:
  24. ———-enabled:
  25. ———-updatePolicy:
  26. ———-checksumPolicy:
  27. ——–snapshots:
  28. ———-enabled:
  29. ———-updatePolicy:
  30. ———-checksumPolicy:
  31. ——–id:
  32. ——–name:
  33. ——–url:
  34. ——–layout:
  35. —-pluginRepositories: #发现插件的远程仓库列表,这些插件用于构建和报表
  36. ——pluginRepository: #包含需要连接到远程插件仓库的信息.参见repositories/repository元素
  37. —-dependencies: #描述了项目相关的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。
  38. ——dependency: #参见dependencies/dependency元素
  39. —-reports: #不赞成使用. 现在Maven忽略该元素
  40. —-reporting: #该元素包括使用报表插件产生报表的规范。当用户执行“mvn site”,这些报表就会运行。 在页面导航栏能看到所有报表的链接。
  41. —-dependencyManagement: #参见dependencyManagement元素
  42. ——dependencies:
  43. ——–dependency: #参见dependencies/dependency元素
  44. —-distributionManagement: #参见distributionManagement元素
  45. —-properties:
原文  https://cn-blogs.cn/archives/8376.html
正文到此结束
Loading...