Maven2 profiles

可以把profiles定义在:
    A、%M2_HOME%/conf/settings.xml,这是针对该部电脑的所有user的profiles,是global profiles,它会影响所有的maven project build
    B、user/.m2/settings.xml,这是针对当前user的profiles,是user级的profiles,它会影响当前user的所有maven project build
    C、定义在pom.xml文件里面,这是仅针对该project的profiles,是project级的profiles

定义在这些profiles中,涉及范围越窄的profiles会覆盖范围越宽的profiles。即:定义在pom.xml里profiles会覆盖user/.m2/settings.xml的,user/.m2/settings.xml的会覆盖%M2_HOME%/conf/settings.xml的。

settings.xml中的profile元素是pom.xml中profile元素的裁剪版本。它包含了activation, repositories, pluginRepositories 和 properties元素。这里的profile元素只包含这四个子元素是因为这里只关心构建系统这个整体(这正是settings.xml文件的角色定位),而非单独的项目对象模型设置。
如果一个settings中的profile被激活,它的值会覆盖任何其它定义在POM中或者profile.xml中的带有相同id的profile。

猜你喜欢

转载自cgp17.iteye.com/blog/561628