首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有多个生成目标的源代码的版本命名

具有多个生成目标的源代码的版本命名
EN

Software Engineering用户
提问于 2021-09-20 09:02:04
回答 1查看 138关注 0票数 -2

我有一个Java库,它自动部署到Maven central。现在这个库有Java-1.8目标SDK,我想继续发布这个目标的源代码,并添加带有Java模块支持的新的目标Java-17。源代码将与Java1.8版本兼容,因此这两个版本都将由单个源代码构建,但这些版本将具有不同的目标SDK (不同的字节代码)。

如何为Maven central正确命名这些工件,以说明它是一个源代码的不同目标?这方面是否存在一些最佳做法?现在,我正在为版本使用语义,所以我正在考虑类似于<major>-<minor>-<patch>+java8<major>-<minor>-<patch>+java17,例如1.3.8+java8。我想给一个有意义的名称,以明确用户使用的版本。

EN

回答 1

Software Engineering用户

发布于 2021-09-20 12:46:23

根据SemVer规则,1.3.8+java81.3.8+java17版本必须作为同一版本进行比较。

这意味着,如果有人指定它们依赖于库的1.x.x或1.3.x版本,则可能发生两种情况,两者都不可取。

  • 依赖关系管理工具注意到两个完全相同的版本,它们可以满足依赖性并提供一个错误,或者
  • 依赖管理工具注意到两个完全相同的版本,它们可以满足依赖性,并随机选择一个。

如果您正在生成针对不同Java版本的不同工件,我会将其编码为库名称中的后缀,这样您的用户就不得不指定他们想要的Java版本,而不必将库的确切版本固定在一起。这将导致工件<my_library>-java8<my_library>-java17

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/432052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档