如何使用发布插件提交由 Maven 替换的属性

How to commit replaced properties by maven with release plugin

我们在尝试提交更改时遇到问题,这发生在 maven 中。因为它们在目标文件夹中,我们该怎么做呢?

通过资源过滤替换。在属性中我们有

<BUILD_VERSION>version-1.0.0</BUILD_VERSION>

那是我们的 属性 并且在某些文件中也会出现这样的标记 - 更改它们后我们应该将其提交给 git

<resource>
    <directory>.</directory>
    <filtering>true</filtering>
</resource> 

我们还通过 maven 发布插件进行整个发布,所以最终命令看起来像

mvn clean release:prepare release:perform 

此版本插件正在使用 scm:

<plugin>
    <artifactId>maven-scm-plugin</artifactId>
        <version>${maven-scm-plugin.version}</version>
        <configuration>
            <message>SCM commit</message>
        </configuration>
        <executions>
            <execution>
            <phase>deploy</phase>
            <goals>
                <goal>checkin</goal>
            </goals>
        </execution>
    </executions>
</plugin>

向 scm 插件添加包含和排除属性对我们没有帮助。

这些更改后如何进行回提交?或者我们如何更改我们的文件然后提交这些更改,maven replacer 插件会有帮助吗?

我认为您无法通过 maven-release-plugin 将它们提交给 git,它没有用于此目的的挂钩。

您将所有这些属性放入 jar 文件中,这些文件作为发布的一部分发布。因此,jar 文件的发布版本包含具有替换值的 属性 文件,并在运行时从类路径中获取它们。