属性文件中的Maven项目版本插值

我们在项目中使用了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

我希望工件生成为

journal-2.0.0-RELEASE

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

有人这样做吗?您能否分享您的实现/想法?

yishan1987 回答:属性文件中的Maven项目版本插值

这不可能。

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

如果您不想这样做,则需要在POM本身或通过命令行提供版本。用诸如maven插件之类的属性读取外部属性将总是太迟了,即在已经读取了版本标签之后。

本文链接:https://www.f2er.com/3136770.html

大家都在问