3. 包含 bom 的项目
11. 下面这个项目中Truth 1.0这个依赖里面有对于 guava 27.0.1-android 的依赖,guice 4.2.2 中有对于 guava 25.1-android 的依赖,最后 guava 是哪个版本?
根据我之前总结的步骤,bom 和 parent 一样,其中的 dependencyManagement 是直接加到本项目中,非显示依赖,一切以 dependencyManagement 中的版本为准,所以答案是guava-28.2-jre
验证:
12. 下面这个项目中Truth 1.0这个依赖里面有对于 guava 27.0.1-android 的依赖,最后 guava 是哪个版本?
根据我之前总结的步骤,bom 和 parent 一样, 其中的 dependencyManagement 还有 dependencies 是直接加到本项目中,并且在本项目的前面,根据最短路径原则,答案是guava-28.2-jre。
但是注意 一般标准的 bom 只有 dependencyManagement, 没有dependencies
验证:
13. 下面这个项目中Truth 1.0这个依赖里面有对于 guava 27.0.1-android 的依赖,最后 guava 是哪个版本?
根据我之前总结的步骤,bom 和 parent 一样, 其中的 dependencyManagement 是直接加到本项目中,并且在本项目的前面,,dependencyManagement 也是一个map,后面的替换前面的,所以dependencyManagement中的版本是28.2-jre,非显示依赖,一切以 dependencyManagement 中的版本为准,所以答案是guava-26.0-jre。
验证:
14. 下面这个项目中Truth 1.0这个依赖里面有对于 guava 27.0.1-android 的依赖,最后 guava 是哪个版本?
根据我之前总结的步骤,这个就很简单啦,最短路径原则,所以答案是guava-28.2-jre。
验证: