考虑我创建了一个在另一个项目中使用的项目,因此该项目的版本为1.0
,我将其安装在 nexus 中。
之后我在这个项目中做了一些改变,所以在这种情况下我有两个解决方案:
将我的项目版本升级到2.0
,并从nexus中删除版本1.0
,因此当开发人员尝试使用此版本1.0
从nexus获取依赖关系时向他/她显示此版本不存在的错误,需要将版本更改为2.0
。
更改此项目的功能,并通知工作人员我做了一些更改,这根本不是练习。
我的问题是:maven和nexus中是否有任何功能可以简化此任务并将其全部用于后端,以便开发人员无法做任何事情,或者这是不可能的?
谢谢。
答案 0 :(得分:2)
如果你有一个旧版本的工件,不能再被使用,因为它有一些危险的bug,或者它不适用于新的数据库结构或类似的东西,它可能是建议将其移至某个非公共Nexus存储库(并将其从构建服务器的本地存储库中删除),以便没有人可以将其用于发布版本(人们可以将其用于本地构建,但这通常不危险)。
如果您想在整个公司管理标准版本,最好有一个父pom或一些boms在<dependenyManagment>
部分收集版本,并且可以包含在开发人员中。这样,您只需要通知他们更改一个版本号(即父pom或bom中的一个)而不是许多。
尽管如此,您仍然面临着人们不阅读公司简讯的问题。我知道许多jar开发人员针对其依赖项的旧版本编译和测试源代码的问题,而war / ear(包括jar)使用新版本。