gpt4 book ai didi

configuration - 如何在多个maven项目之间共享公共(public)属性?

转载 作者:行者123 更新时间:2023-12-03 06:03:18 26 4
gpt4 key购买 nike

我有几个由maven构建的项目,我想分享它们之间的一些共同属性 - spring版本,mysql驱动程序版本,svn基本url等 - 所以我可以更新它们一次,它将反射(reflect)在所有项目上。

我想过拥有一个具有所有属性的 super pom,但是如果我更改其中一个问题,我需要增加其版本(并更新从它继承的所有 pom)或从所有开发人员中删除它' 我不想做的机器。

可以在pom外部指定这些参数吗?我仍然希望在父 pom 中包含外部位置定义。

最佳答案

您可以使用Properties Maven plugin 。这将允许您在外部文件中定义属性,并且插件将读取该文件。

使用此配置:

<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-1</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
<configuration>
<files>
<file>my-file.properties</file>
</files>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

如果有,请在属性文件中添加以下行:

spring-version=1.0
mysql-version=4.0.0

那么这与您在 pom.xml 中编写以下几行是一样的:

<properties>
<spring-version>1.0</spring-version>
<mysql-version>4.0.0</mysql-version>
</properties>

使用这个插件,您将有几个好处:

  • 轻松设置一长串属性
  • 修改这些属性的值而不修改父 pom.xml。

关于configuration - 如何在多个maven项目之间共享公共(public)属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1231561/

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