背景
我们必须针对不同的环境构建应用程序,传递给构建管道(在我们无法到达的独立构建机器中)的有关目标环境的唯一信息是具有价值的属性,因此
mvn package -Dtarget=env1
为了适应不同的环境,我们在主pom中维护了多个由不同属性值激活的配置文件:
<project>
<groupId>whatever</groupId>
<artifactId>whatever</artifactId>
<version>whatever</version>
<profiles>
<profile>
<id>app-for-env1</id>
<activation>
<property>
<name>target</name>
<value>env1</value>
</property>
</activation>
<properties>
<!-- properties for env1 -->
</properties>
<modules>
<!-- modules for env1 -->
</modules>
<dependencyManagement>
<!-- dependencyManagement for env1 -->
</dependencyManagement>
</profile>
<profile>
<id>app-for-env2</id>
<activation>
<property>
<name>target</name>
<value>env2</value>
</property>
</activation>
<properties>
<!-- properties for env2 -->
</properties>
<modules>
<!-- modules for env2 -->
</modules>
<dependencyManagement>
<!-- dependencyManagement for env2 -->
</dependencyManagement>
</profile>
</profiles>
</project>
目前,它适用于两个不同的运行时环境env1和env2。
但是,我们需要支持与env2非常相似的env3,因此我们必须复制整个app-for-env2配置文件才能满足要求。
那么Maven概要文件有可能引用另一个概要文件的内容或从另一个概要文件继承吗?