【发布时间】:2011-07-17 11:26:23
【问题描述】:
我知道“链接”个人资料声明是不可能的。 可以使用命令行中的系统属性(例如 mvn -Dvar=value )做我想做的事情(但不完全)。 然后使用这个:
<activation>
<property>
<name>var</name>
<value>value</value>
</property>
</activation>
或使用 -P profile1, profile2 同时激活多个配置文件
事实上,我有 4 个配置文件,我想创建第五个配置文件,其中包含所有 aspectj 部分(插件、依赖项等),只有在配置文件 1、2 或 3 被激活时才应该激活它。像这样我没有多余的插件和依赖声明。
<profile>
<id>profile1</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
...
</build>
</profile>
<profile>
<id>profile2</id>
<build>
...
</build>
</profile>
<profile>
<id>profile3</id>
<build>
...
</build>
</profile>
<profile>
<id>profile4</id>
<build>
<plugins>
<plugin>
...
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>aop</id>
<build>
<plugins>
<plugin>
...
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
...
</dependency>
<dependency>
...
</dependency>
</dependencies>
</profile>
问题在于配置文件 1 是默认配置文件,甚至应该可以在没有命令行参数的情况下执行此操作。我尝试定义一个值,但它不起作用,因为激活属性仅适用于系统属性。
我错了吗?还有其他方法吗?
谢谢
【问题讨论】: