mhs*_*ams 10 maven-2 profiles maven
我有一个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
Run Code Online (Sandbox Code Playgroud)
反正是为了确保用户不能只使用profile-b安装模块?如果profile-b单独使用,还是自动激活配置文件-a?
反正是为了确保用户不能只使用profile-b安装模块?如果profile-b单独使用,还是自动激活配置文件-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>
Run Code Online (Sandbox Code Playgroud)
在调用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)
这不是理想的,但目前,这是你能得到的最好的.
| 归档时间: |
|
| 查看次数: |
5901 次 |
| 最近记录: |