gpt4 book ai didi

java - Maven 在多模块项目属性扩展中构建配置文件

转载 作者:太空宇宙 更新时间:2023-11-04 13:44:56 24 4
gpt4 key购买 nike

我有一个多模块 Maven 项目。我的父 POM 具有以下模块:

<module>common</module>
<module>ingest</module>
<module>package</module>

package 模块处理使用 maven-antrun-plugin 构建可部署 zip 文件的所有方面。另外两个模块是核心应用程序代码所在的位置。在 package 中,我有各种配置文件,用于保存生产、登台和开发环境的配置设置。每个配置文件如下所示:

<profile>
<id>prod</id>
<properties>
<oozie.url>http://oozie-server:11000/oozie</oozie.url>
<stage.user>prod-stage</stage.user>
</properties>
</profile>

这在父级别完美运行,运行:

mvn clean install -P prod

所有 .properties 文件都将各种属性扩展为 Maven 配置文件中的属性。

ingest 模块中,一个类可能依赖于具有 ingest 模块的 .properties 文件。该属性文件的内容如下所示:

stageUser=${stage.user}

当运行 ingest 模块的测试时,属性不会扩展为构建配置文件中的属性,例如该属性仍为 stageUser=${stage.user} 而不是 stageUser=prod-stage。这会导致测试失败。

我唯一的解决方法是添加所需的配置文件和属性,以使测试传递到摄取 POM。这意味着我在 packageingest 模块的两个位置都有这些属性。有没有更好的解决方案?

最佳答案

从父级继承属性应该可行。确保子模块中有 parent 声明:

<parent>
<artifactId>parent</artifactId>
<groupId>parentGroupId</groupId>
<version>version</version>
</parent>

关于java - Maven 在多模块项目属性扩展中构建配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30965790/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com