如何在多模块项目中列出所有已激活的mvn配置文件?

31

mvn help:active-profiles只列出在项目和系统设置中激活的配置文件,它不列出已从父pom启用/激活的配置文件。

有没有其他方法可以查看已激活配置文件的完整列表,而不是通过试错地查看启用或禁用哪些属性来实现?


2
实际上,mvn help:effective-profiles 列出了当前项目启用的所有配置文件。 - Andrew Logvinov
是的,这不包括来自父Pom的配置文件。 - Max Rydahl Andersen
5
很遗憾,mvn help:effective-profiles 不存在。它应该被称为 mvn help:active-profiles - khmarbaise
1
@khmarbaise 抱歉,当然是 active-profiles - Andrew Logvinov
5个回答

24
另一个选项是mvn help:all-profiles,它还会列出继承的配置文件。

显示当前项目下可用的配置文件列表。注意:它将列出项目所有的配置文件。如果某个配置文件被标记为非活动状态,则可能需要设置配置文件激活开关/属性。

更多详细信息请参阅Maven帮助插件页面


14

我仔细核对了一下,确实在调用mvn help:active-profiles时,继承的配置文件不会列出。这是使用maven-help-plugin版本2.1.1的情况。

甚至有一个关于此问题的错误报告:MPH-79

作为解决方法,您可以使用旧版本:

mvn org.apache.maven.plugins:maven-help-plugin:2.0.2:active-profiles ...

3
了解,该错误报告表明该问题已在mvn v2.2中修复。 - Ashutosh Jindal

9

您是否总是希望在构建日志中看到活动配置文件?那么,您可以将以下插件配置添加到<build>部分。

在此示例中,我将插件添加到了“编译”阶段。它也可以轻松地添加到其他阶段。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-help-plugin</artifactId>
  <version>3.0.1</version>
  <executions>
    <execution>
      <id>show-profiles</id>
      <phase>compile</phase>
      <goals>
        <goal>active-profiles</goal>
      </goals>
    </execution>
  </executions>
</plugin>

5

这在 Maven 3.x 中可行 mvn help:active-profiles


-3
mvn help:effective-profiles

列出活动配置文件的工作


[ERROR] 在可用的插件表达式中,找不到 org.apache.maven.plugins:maven-help-plugin:2.2 插件中的目标 'effective-profiles',可用的目标有 expressions, active-profiles, effective-settings, system, effective-pom, help, all-profiles, describe, evaluate -> [帮助 1]。 - Jolta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接