Maven:构建没有 release:plugin 并且没有 SNAPSHOT-version-number

Posted

技术标签:

【中文标题】Maven:构建没有 release:plugin 并且没有 SNAPSHOT-version-number【英文标题】:Maven: Build without the release:plugin and without a SNAPSHOT-version-number 【发布时间】:2014-03-17 09:09:18 【问题描述】:

我有一个多模块项目,目前是 SNAPSHOT 版本。我想将版本更改为发布版本,因此版本号不带“SNAPSHOT”后缀。 但我不想使用release:prepare perform 进程。我只想手动更改版本号(mvn version:set)。

当我在更改版本后尝试构建时,maven 抛出“无法解析的父 pom”,并且似乎 maven 试图在远程存储库中查找具有新版本号的工件。但是由于我没有使用发布插件,所以在那里找不到。

如果不使用release-plugin,一般不能使用非SNAPSHOT-version-number 吗?

【问题讨论】:

您是否构建了整个多模块项目?哪个模块失败了?主项目或模块之一?请显示您的模块的坐标。 是的,整个项目。这是无法解决的主项目(root-parent-pom)。当我尝试只构建一个子模块时:有些可以构建 - 有些不能...... 坐标:0.0.1-SNAPSHOT 更改为 0.0.1(按 mvn 版本:设置) 请显示您的 POM 的坐标部分(前后版本:set) 我使用mvn -N versions:update-child-modules 来对齐所有子模块以使用正确的父模块。这对您的案子有帮助吗? 【参考方案1】:

如果您在本地父项目上运行mvn clean install,它会将发布版本安装到您​​的本地存储库。

然后在具有该父版本的子节点上运行全新安装应该会在您的本地存储库中找到父版本。

【讨论】:

以上是关于Maven:构建没有 release:plugin 并且没有 SNAPSHOT-version-number的主要内容,如果未能解决你的问题,请参考以下文章

避免使用 maven-release-plugin 为下一次开发迭代更新 POM 版本

Gradle Release Plugin:如何将版本保存在文本文件中(而不是属性文件中)?

spring-boot:build-image 在代理后面

没有JDK和Maven,用Docker也能构建Maven工程

直接拉取的jenkins镜像为啥没有maven

Maven 在构建期间没有运行 Jacoco