【问题标题】:Are Guava-11.0.2.jar conflicting with com.google.common_1.0.0.0_0-6.jar?Guava-11.0.2.jar 是否与 com.google.common_1.0.0.0_0-6.jar 冲突?
【发布时间】:2025-11-27 04:15:02
【问题描述】:

在讨论 here on * 之后,我在 weblogic 服务器上部署应用程序时遇到问题

我意识到问题在于 weblogic 12c 正在使用 lib 文件 com.google.common_1.0.0.0_0-6.jar ,而我的应用程序正在使用 Guava-11.0.2.jar,对我来说听起来它们是冲突的,试图在谷歌上搜索,但我不知道该怎么做,解决它的正确方法是什么?

【问题讨论】:

  • 我不知道 com.google.common_1.0.0.0_0-6.jar 中的实际内容...
  • 了解 WebLogic 的人可能不得不在这里权衡一下。用较新的 Guava jar 替换该 com.google.common_1.0.0.0_0-6.jar 文件可能是安全的,但同样可能不会。
  • 当您无法控制类路径时,最安全的方法是将依赖项重新打包到内部包中。 maven shade 插件和 ant JarJar 任务可以做到这一点,但它有点慢。
  • thread 尝试我的答案应该也可以

标签: java weblogic guava weblogic12c


【解决方案1】:

我遇到了同样的问题,我所做的是,我将 weblogic-home/modules 中的 com.google.common_1.0.0.0_0-6.jar 文件替换为当前为 guava-13.0.1 的最新 Guava。 jar,但后来我看到 weblogic 正在寻找一个名为 com.google.common 的文件......所以我只是将 Guava 文件重命名为 com.google.common_1.0.0.0_0-6.jar,它就可以工作了对我来说。

希望它也对你有用!

【讨论】:

  • 哇!!谢谢!这对我也有帮助,我已经将近 2 天没有工作了,正在寻找解决方案,
  • 我会说这是一种解决方法。以这种方式解决问题会为您的安装过程增加一个配置步骤,这很容易错过。我会在 weblogic.xml 中进行类加载器配置
【解决方案2】:

这是一个众所周知的Weblogic问题。解决方法是使用设置文件weblogic.xml,可以通过classloader指定启动顺序库。

【讨论】:

    【解决方案3】:

    无需像@meilechh 所建议的那样,问题很容易解决。您可以将prefer-application-packages 添加到您的weblogic.xmlweblogic-application.xml

    参考http://docs.oracle.com/middleware/1212/wls/WLPRG/classloading.htm#WLPRG315

    【讨论】: