maven-2 - Maven配置文件依赖

标签 maven-2 maven profiles

我有一个 Maven 模块,有 2 个配置文件 profile-a 和 profile-b

profile-a 可以独立使用,但 profile-b 应与 profile-a 一起运行

mvn install -P profile-a                   // valid
mvn install -P profile-a,profile-b         // valid
mvn install -P profile-b                   // INVALID

是否有办法确保用户无法仅使用配置文件-b 安装模块? 或者如果单独使用 profile-b,则自动激活 profile-a?

最佳答案

is there anyway to make sure that user cannot install the module with only profile-b? or active the profile-a automatically if profile-b used alone?

不,无法从另一个配置文件触发配置文件(不支持,请参阅相关问题的 Brett's answer),也无法严格禁止使用给定的配置文件。

您能做的最好的事情就是使用属性激活和通用属性来激活两个配置文件:

<project>
  ...
  </dependencies>
  <profiles>
    <profile>
      <id>profile-a</id>
      <activation>
        <property>
          <name>propertyX</name>
        </property>
      </activation>
    </profile>
    <profile>
      <id>profile-b</id>
      <activation>
        <property>
          <name>propertyX</name>
        </property>
      </activation>
    </profile>
  </profiles>
</project>

调用 mvn 时传递属性会同时触发它们:

$ mvn help:active-profiles -DpropertyX
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Q4099626 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-help-plugin:2.1.1:active-profiles (default-cli) @ Q4099626 ---
[INFO] 
Active Profiles for Project 'com.stackoverflow:Q4099626:jar:1.0-SNAPSHOT': 

The following profiles are active:

 - profile-a (source: pom)
 - profile-b (source: pom)

这并不理想,但目前,这是您可以获得的最好结果。

相关问题

关于maven-2 - Maven配置文件依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4099626/

相关文章:

java - 如何在 Maven 部署阶段将构建的工件复制到远程 Windows 服务器上的目录?

java.lang.IncompleteClassChangeError : the number of constructors

spring - 如何通过属性文件而不是通过 env 变量或系统属性设置事件 spring 3.1 环境配置文件

java - 如何使用 Maven 构建 Artifact 的多个配置(例如 WAR 等)?

linux - 在终端中打开多个 firefox 配置文件并保留默认的一个配置文件

maven - 如何阻止 maven 版本范围使用快照

eclipse - 在安装 mvn 之前使用 Eclipse 运行 Junit 时看不到 .java 文件中的更改

maven - 在 IntelliJ 中使用 Maven 的 --also-make 选项

linux - gwt-maven-plugin 在获取 gwt-dev 工件时附加 "-linux"

spring - 如何在 Intellij 中以 Debug模式调试 spring boot maven 项目?