如何确保 maven 项目的分发文件的名称与某个版本无关,而是始终包含最新的 [重复]

Posted

技术标签:

【中文标题】如何确保 maven 项目的分发文件的名称与某个版本无关,而是始终包含最新的 [重复]【英文标题】:How to make sure the distribution file for maven project have name that doesn't relate to a certain version, instead always contain the latest [duplicate] 【发布时间】:2021-08-04 14:22:21 【问题描述】:

我目前正在处理一个 Maven 项目,我想创建一个胖 jar。当我进行远程构建时,jar 的名称会自动转换为一些数字,这是我不想要的,因为我必须更新我的其他项目才能使用最新的 JAR。

目前我的 pom.xml 有这个:

<artifactId>myProject</artifactId>
<groupId>a.b.c.d</groupId>
<version>1.0-SNAPSHOT</version>

当我进行远程构建时,1.0-SNAPSHOT 被转换为 000-feature-7654321(每次我进行新的提交时,这个数字都会改变)

因此,生成的 jar 文件看起来像 myProject-000-feature-7654321.jar 但我希望它类似于 myProject-1.0-SNAPSHOT.jar 将始终包含最新更改。

【问题讨论】:

听起来你的 CI 在构建过程中更改/配置了版本号。 是的,找到了问题。这是因为 gitlab-ci.yml 文件。谢谢马克。 【参考方案1】:

这意味着您的远程构建会在构建之前或构建期间更改版本。

查看 gitlab 构建脚本以了解其中发生的情况。

【讨论】:

在构建期间。在日志中它说 1.0-SNAPSHOT 被转换为 000-features-7654321 这可能是由您的 gitlab-ci 构建脚本完成的。但我们无法判断您是否不知道。 谢谢,这真的很有用。所以,在 gtilab-ci.yml 中,我使用了类似 version = SEVER_VERSION 的东西,我将其更改为 version = VERSION 。现在,它可以按我的意愿工作了。

以上是关于如何确保 maven 项目的分发文件的名称与某个版本无关,而是始终包含最新的 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

路由分发与名称空间

分发 Python 库(单个文件)

iOS企业版APP分发上线流程和注意事项

ssm整合 idea+maven版

Maven:POM 文件或 settings.xml 中的分发管理配置

Django框架——路由分发名称空间虚拟环境视图层三板斧JsonResponse对象request获取文件FBV与CBVCBV源码剖析模版层