maven - maven 配置文件是否可以引用另一个配置文件的内容或从另一个配置文件继承?
问题描述
背景
我们必须为不同的环境构建我们的应用程序,传递给构建管道的目标环境的唯一信息(在我们无法访问的独立构建机器中)是具有值的属性,因此
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 配置文件是否可以引用另一个配置文件的内容或从另一个配置文件继承?
解决方案
推荐阅读
- swift - 如何扩展 NSOutlineView 孩子?
- java - Powerpoint幻灯片上的水印
- c# - 比较两个组合框c#的字符串值是一种好习惯吗
- android - 应用程序从一个活动转移到另一个活动时崩溃
- ruby-on-rails - 有没有办法在设计中动态添加 Omniauth 提供者/策略
- java - 应该在哪里进行数据验证?
- macos - 无法卸载 ChromeDriver 2.45
- sql - 创建代理作业
- python - R 中是否有等效(或更快)版本的 numpy.binCount 用于对基于多个 bin 的值求和?
- bash - 尽管有 ssh -n,但 ssh 在查看时会中断