maven-2 – maven配置文件依赖

我有一个maven模块,具有2个profile 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

有没有确保用户不能仅使用profile-b来安装模块?
或者如果配置文件b单独使用,则会自动激活配置文件?

最佳答案

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)

这不是很理想,但目前,这是你能得到的最好的.

相关问题

> Why can’t I activate a Maven2 profile from another profile?
> Can I make one maven profile activate another?

转载注明原文:maven-2 – maven配置文件依赖 - 代码日志