有没有办法确保用户不能只用 profile-b 安装模块?或者如果 profile-b 单独使用,则自动激活 profile-a?
不,没有办法从另一个触发配置文件(不支持,请参阅Brett对相关问题的回答),也无法严格禁止使用给定的配置文件。
您可以做的最好的事情是使用属性激活和公共属性来激活两个配置文件:
<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] 正在扫描项目...
[信息]
[信息] --------------------------------------------- -------------------------
[INFO] 建筑 Q4099626 1.0-SNAPSHOT
[信息] --------------------------------------------- -------------------------
[信息]
[信息] --- maven-help-plugin:2.1.1:active-profiles (default-cli) @ Q4099626 ---
[信息]
项目“com.stackoverflow:Q4099626:jar:1.0-SNAPSHOT”的活动配置文件:
以下配置文件处于活动状态:
- profile-a(来源:pom)
- profile-b(来源:pom)
这并不理想,但目前,这是你能得到的最好的。
相关问题