为什么 Gradle 或 Maven 没有依赖项版本锁定文件?
我最近在阅读有关NPM,Yarn,Paket,Cargo等包管理器时,被引入了依赖版本锁定文件的概念。我的理解是,它是一个列出所有直接和可传递依赖项及其确切版本号的文件,因此后续构建可以保证使用一组等效的依赖项。这似乎是一个理想的功能,因为许多包管理器已经或正在采用这个概念。
我的问题是:
为什么 Maven 或 Gradle 不使用锁定文件?或者,如果他们这样做了,为什么我没有看到它?
在包管理器的依赖项解析策略中允许版本范围与仅允许精确版本相比,有哪些优点和缺点?