gpt4 book ai didi

spring - WebLogic 12.2.1 : Override Jackson library in common_modules with version in EAR

转载 作者:行者123 更新时间:2023-12-05 04:01:34 24 4
gpt4 key购买 nike

鉴于在 WebLogic 12.2.2.1 上部署了 Jackson 2.8.10 的 Spring 4.3.11-RELEASE Web 应用程序,我们遇到了问题,因为正在加载的 Jackson 版本是 WLS 中的旧版本 oracle_common/modules树,优先于其他库。

我们尝试了以下方法:

  1. 在 weblogic.xml 中添加偏好语句

<prefer-application-packages>
<package-name>com.fasterxml.jackson.*</package-name>
</prefer-application-packages>

运行 -verbose:class标志清楚地表明正在加载坏 jar :

[Loaded com.fasterxml.jackson.databind.type.ArrayType from file:/u01/oracle/oracle_common/modules/com.fasterxml.jackson.core.jackson-databind.jar]

  1. 将 com.fasterxml.jackson.* jar 文件放入域 lib文件夹

没有任何效果。

此外,请注意这是一个共享的 WebLogic 实例,我们在其中只有对域文件夹的写访问权限,因此我们不能做创造性的想法,例如从 oracle_common 文件夹中物理删除有问题的遗留 Jackson jars,或者弄乱 patch_classpath或类似的。

非常感谢任何帮助!

最佳答案

问题是 prefer-application-packages 指令被放入 EAR 内的 WAR 包内的 weblogic.xml 中,而类路径没有以正确的顺序选择它:

foo-ear -> foo.war -> WEB-INF/weblogic.xml

我们通过将指令置于 EAR 级别来解决它:foo-ear -> META-INF -> weblogic-application.xml

现在它可以正常工作了。

关于spring - WebLogic 12.2.1 : Override Jackson library in common_modules with version in EAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55230589/

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