gpt4 book ai didi

java - Jetty 如何处理具有不同依赖项的同一类的类加载?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:46:17 25 4
gpt4 key购买 nike

我想知道 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 文档中获得太多信息。非常感谢帮助

最佳答案

  • 假设您不打算更改 Jetty 安装的 jSTL 版本。
  • 假设您只使用 jSTL 版本 1.2.4 来编译您的代码,并且您没有在 war WEB-INF/lib 中添加 jar。

如果您使用 maven 针对 1.2.4 进行编译和打包,并将打包的 war 部署到 Jetty 上,Jetty 将使用 1.2(服务器类路径上的版本而不是 1.2.4(因为它不适用于 Jetty))。这可能会导致问题。

避免问题的最佳方法是在您的 Maven 项目依赖项中使用与您要部署的 Jetty 版本使用的版本完全相同的版本。

关于java - Jetty 如何处理具有不同依赖项的同一类的类加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41492982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com