如何通过maven属性激活配置文件?

2022-09-01 12:02:17

我正在尝试使用内部定义的属性激活maven配置文件:pom.xml

<project>
  [...]
  <properties>
    <run.it>true</run.it>
  </properties>
  [...]
  <profiles>
    <profile>
      <activation>
        <property><name>run.it</name></property>
      </activation>
      [...]
    </profile>
  </profiles>
  [...]
</project>

显然它不起作用。但是,激活从命令行工作:

mvn -Drun.it

是“设计使然”吗?如果是,可能的解决方法是什么?


答案 1

编辑,完全重写,因为我现在理解了这个问题。

请参阅此论坛帖子

配置文件激活基于系统属性。您无法根据 pom 中定义的属性激活配置文件,也无法根据构建计划开始执行后定义的系统属性激活配置文件


答案 2

使用这样的激活怎么样

    <profile>
        <id>gwt</id>
        <activation>
            <file>
                <exists>uses-gwt.marker</exists>
            </file>
        </activation>

并将文件“uses-gwt.marker”添加到源代码管理中,紧挨着pom.xml。这为所有开发人员提供了相同的状态,并且允许面向方面的pom。我们在父 pom 中使用这种技术,并将标记文件放在子项 svn 中。不理想,但有效。


推荐