我想知道当多个依赖路径可能导致同一个类时,jetty 如何处理。
例如,
Jetty 预先打包了 JSTL-1.2,但我添加了一个依赖项来加载 JSTL-1.2.4。在编译时,如果我断点测试它在eclipse中下载源代码,它会在1.2.4版本处中断。
我想知道当有两个版本的类时,例如某个基类,将传递哪个版本来生成 JSP 的字节代码JstlCoreTlv依赖项(一种是预先打包的,即带有jetty的JSTL 1.2,另一种是从maven依赖项1.2.4传递的)
简而言之,我想知道jetty是如何做到的。我想知道jetty如何优先考虑预打包和稍后添加的依赖项。即使版本比预打包的版本旧,它是否会覆盖并引用添加的依赖项?
我无法从码头文档中获得很多关于这方面的信息。非常感谢帮助
- 假设您不打算更改 Jetty 安装的 jstl 版本。
- 假设您仅使用 jstl 版本 1.2.4 来编译您的代码,并且您没有将 jar 添加到您的 war WEB-INF/lib 中。
如果您使用 maven 针对 1.2.4 进行编译和打包,并在 Jetty 上部署打包的 war,则 Jetty 将使用 1.2(这是服务器类路径上的一个,而不是 1.2.4(因为它不适用于 Jetty)。这可能会导致到问题。
避免问题的最佳方法是在您的 Maven 项目依赖项中使用与您将部署的 Jetty 版本所使用的版本完全相同的版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)