gpt4 book ai didi

java - 有什么方法可以从协调器(非父)pom 指定模块属性吗?

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

我有一个多模块 Maven 3 项目,其中有一个协调器/构建 pom,其唯一的工作是运行 Maven 构建。每个模块都已经有其父 pom,但没有一个是此 Orchestrator pom。

在 Orchestrator pom 中是否有任何方法可以设置/指定模块将使用的属性值?由于模块不继承 Orchestrator pom,因此它们不知道其中设置/指定的任何属性值(例如:${buildEngine} 或 ${cluster})。

例如:

<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.sbic</groupId>
<artifactId>builder</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Orchestrator Pom</name>

<properties>
<buildEngine>Geronimo</buildEngine>
<cluster>peanuts</cluster>
</properties>

<modules>
<!-- Supert POM Component Versionning -->
<module>SbiComMavenCommon</module>

<!-- Projects -->

<module>../AlertServices</module>
<module>../Configuration</module>
<module>../Core</module>
</modules>
</project>

为了构建我的项目,我只需在此构建器 pom 上调用 mvn package 即可。

我正在寻找的是能够在此构建器 pom 中指定属性,然后模块将使用这些属性,要求模块在其父树中包含此 pom。

例如,可以完成以下任务(显然不是有效的 pom 语法):

<module>
../Core
<properties>
<name>SomeValue</name>
<server>192.168.1.2</server>
</properties>
</module>

最佳答案

据我所知,没有直接的方法可以使用 Maven 来做到这一点。但是,有一个解决方法 - 使用 properties:set-system-properties来自 Properties Maven 插件

当然,对于任何全局共享可变状态,需要注意。例如,不尊重模块父/子关系。尽管看起来你无论如何都想要它

关于java - 有什么方法可以从协调器(非父)pom 指定模块属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28047582/

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