我知道无法“链式”声明配置文件。 可以通过命令行中的系统属性(例如 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是默认配置文件,即使不使用命令行参数也应该可以进行配置。我尝试定义一个值,但它不起作用,因为激活属性只能与系统属性一起使用。
我错了吗?还有其他方法可以做到吗?
谢谢