更改关系中依赖项版本的最佳实践

Best practice to change version of dependencies in nexus

考虑一个在其他项目中使用的项目,该项目的版本为 1.0 并且存在于 Nexus.

之后,在这个项目中做了一些改动。 现在有两种解决方案:

  1. 将项目的版本增加到 2.0,并从 Nexus 中删除版本 1.0。当开发人员尝试从版本为 1.0 的 Nexus 获取依赖项时,他们将收到一个错误,指出该版本不存在,需要将版本更改为 2.0.

  2. 更改此项目的功能并通知工作人员已完成一些更改,但这根本不是惯例。

Maven 和 Nexus 中是否有任何功能可以简化此任务并使这一切都发生在后端,这样开发人员就什么也做不了,或者这是不可能的?

如果您有一个旧版本的工件,不能再使用它,因为它有一些危险的错误,或者它不能与新的数据库结构或类似的东西一起工作为此,建议将其移动到某个 non-public Nexus 存储库(并将其从构建服务器的本地存储库中删除),这样就没有人可以将它用于发布构建(人们可以将它用于本地构建,但这通常并不危险)。

如果您想管理整个公司的标准版本,最好有一个父 pom 或一些 boms,它们在 <dependenyManagment> 部分中收集版本并且可以由开发人员包含。这样,您只需要通知他们更改 one 版本号(即父 pom 或 bom 之一)而不是许多。

您仍然面临人们不阅读公司新闻通讯的问题。我知道许多 jar 开发人员针对非常旧版本的依赖项编译和测试他们的源代码,而 war/ear(包括 jar)使用新版本的问题。