Maven有一个版本管理系统,如果引用多个版本,它将选择库的最高版本。例如,如果pom指的是版本1.1和pom到1.2,那么pom (同时指A和B)将使用最高版本;1.2。
这种方法假设1.2是100%向后兼容1.1,这是一个很好的和必需的方法。然而,在库的生命周期中的某些时候,清理商店是明智的。对我来说,API中的任何重大更改都意味着增加主要版本,所以2.0不需要100%向后兼容最新的1.x。很好。
然而,Maven并不在乎,如果pom从1.2升级到2.0,那么Maven将使用2.0,但是pom不能使用该版本。
如何告诉Maven一个版本不再向后兼容?
我已经尝试指定排除范围,所以A引用[1.1,1.999],B引用[2.0,2.999)。但是,Maven仍然解决了最大版本号(2.0)。
发布于 2011-04-07 17:36:31
你查过maven执行器插件了吗?它可能有类似的内容,或者您可以编写自定义规则。
https://stackoverflow.com/questions/5555395
复制相似问题