【发布时间】:2017-05-20 11:10:16
【问题描述】:
我想知道当多个依赖路径可能导致同一个类时,码头如何处理。
例如,
Jetty 预装了 JSTL-1.2,但我添加了一个依赖项来加载 JSTL-1.2.4。在编译时,如果我在eclipse中下载源代码进行断点测试,它会在1.2.4版本中断。
我想知道将传递哪个版本来生成JSP的字节码,当有两个版本的类时,说一些依赖的基类JstlCoreTlv(一个预先打包,即带有码头的 JSTL 1.2 和一个从 maven 依赖项 1.2.4 传递的)
简而言之,我想知道码头是如何做到的。我想知道码头如何优先考虑预打包和稍后添加的依赖项。即使版本比预打包的版本旧,它会覆盖并引用添加的依赖项吗?
在这种情况下,我无法从码头文档中获得太多信息。非常感谢您的帮助
【问题讨论】:
-
默认行为是什么?我没有更改与类加载首选项相关的任何内容。
-
这并没有说明当存在同一类的不同版本时会发生什么
-
我不确定我是否理解这一点。我的实际问题是,当有两个版本的类依赖时,我想知道将传递哪个版本来生成 JSP 的字节码(一个是预打包的,即带有码头的 JSTL 1.2,另一个是从 maven 依赖项 1.2 传递的) .4).
-
这两个类怎么能用来生成字节码呢?它可以是任何一个。更具体地说,假设一个类 JstlCoreTlv (1.2),也存在于 1.2.4 中,我的 JSP 类将在其中一个上生成,如何由两者生成?
-
你的意思是说,它可能会在 JSP 的不同编译时间加载不同版本的 JstlCoreTlv ?
标签: java dependency-injection jetty jstl jetty-8