如何使用 maven 发布插件更新非 pom 文件中的版本

问题描述

我有一个 maven 项目,我正在使用 maven-release-plugin 来准备发布。

当我运行 mvn --batch-mode release:prepare 命令时,它会创建两个提交,如下所示

(HEAD -> develop) [maven-release-plugin] 为下一步开发做准备 迭代

(tag: myapp-1.0.0) [maven-release-plugin] 准备发布 myapp-1.0.0

这会正确更新所有 pom 文件

但是我的项目中有一些文本文件,其中有一个版本标记。我正在寻找一种根据提交适当替换这些版本令牌的方法

例如,prepare release 提交应将令牌替换为 1.0.0prepare for next development 应将令牌替换为 1.0.1-SNAPSHOT

我已经检查了文档,但没有找到任何方法来做到这一点。如果有人对如何通过 maven-release-plugin 或在任何其他插件的帮助下实现此目标有任何想法,请提出建议。

编辑:

即使我将文件放在资源目录中,这个问题也没有解决。我观察到的事情是,发布插件仅选择性地在提交中添加 pom.xml 文件,而不是其他文件,即使它们被修改也会被添加到发布插件推送的提交中。

让我澄清一下,我不是在源文件中寻找替换版本,而是在生成的工件中替换它。我们可以争论为什么非源文件中有版本字段,但有任何人都能想到的真实场景。

作为开发人员,我希望 maven 发布的发布提交应该是准确的,即它应该包含与该特定发布版本相关的所有更改。

解决方法

正如 khmarbaise 所说:在相应的文件中使用 ${project.version},将它们放入资源目录并使用过滤。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...