我对 Maven 的类加载顺序有疑问。
我知道,自从 Maven 版本 2.0.9 以来,类加载一直是确定性的,并且使用 pom.xml 中的顺序。我不清楚传递依赖。maven 是否首先加载所有顶级依赖项,然后是传递依赖项。或者加载具有所有传递依赖项的顶级依赖项,然后加载下一个顶级依赖项。
我知道在完全正确的 Maven 设置中,订单没有问题,但是我在依赖项中有一些重复的类,我想知道使用了哪个类。排除传递依赖是没有选择的,因为并非所有类都包含在两个 jar 中。
例如: 我的项目有 A、B 和 C 三个依赖项。A 对 C 有传递依赖项。加载依赖项的 maven 顺序是什么?
聚甲醛:
- 一个
- C
- 乙
- C
案例一:
A --> B --> C
案例 B: A --> (传递依赖) C --> B --> C
谢谢