gpt4 book ai didi

java - 从属性文件插值 Maven 项目版本

转载 作者:行者123 更新时间:2023-12-02 09:19:43 26 4
gpt4 key购买 nike

我们在项目中使用了 Maven 一段时间,并且希望将发布过程自动化一点。我们提出了以下想法,以便版本将由开发人员或在 SCM 中维护,而不是在 jenkins/bamboo 等 DevOps 工具中维护。

任何人遵循以下过程,而不是将参数中的插值设置为“mvn install -Dapp.version=1.0.0-SNAPSHOPT”

我们喜欢遵循的过程是通过外部属性文件提供 Maven 项目版本。

让我们假设以下部分 POM.xml 摘录作为示例。

<project>
<groupId>com.home.diary</groupId>
<artifactId>journal</artifactId>
<version>${app.version}</version>
<packaging>war</packaging>
</project>

假设我的 SCM 中有一个包含以下内容的 version.properties 文件

app.version=2.0.0-RELEASE

运行 mvn 目标时

mvn install

我希望生成的 Artifact 为

journal-2.0.0-RELEASE

我尝试使用 org.codehaus.mojo 中的插件 properties-maven-plugin正如这里所讨论的How to read an external properties file in Maven但它不起作用。

有人做过吗?您能分享一下您的实现/想法吗?

最佳答案

这是不可能的。

首先:为什么不直接管理<version>中的版本呢?标签本身?这是最简单的事情,并且满足您的要求(开发人员在SCM中管理版本)。

如果您不希望这样,则需要在 POM 本身或通过命令行提供版本。使用属性 maven 插件之类的东西读取外部属性总是会发生太晚,即在版本标记已经读取之后。

关于java - 从属性文件插值 Maven 项目版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58769683/

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