Java依赖优先级

时间:2017-07-24 11:53:30

标签: java dependency-management

试图弄清楚JVM将如何决定使用哪个依赖项:

  1. 我们有一个gradle编译的fatJar,包含几个依赖项,即Jackson X版本等。
  2. 我的应用是一个Play framework 1.x应用,使用第1阶段的fatJar工件和其他依赖项,包括使用aws java sdk本身的Jackson,比X版本更新。
  3. 如何判断运行时使用的Jackson版本? [似乎在1 env上它使用了正确的一个,另一方面,aws sdk正在使用不正确的Jackson]

1 个答案:

答案 0 :(得分:1)

在简单的情况下,当您向java提供类路径并且不使用任何类加载器时,答案很简单。它将按您提供的顺序搜索类路径。

我强烈反对你不依赖这种行为。

有问题的解决方案。其中一个使用OSGi它允许使用多个版本的库,但我必须提到它是重型框架。