【问题标题】:Spring Integration application deployment fails when deploy war to weblogic version (weblogic 12.2.1.3)将war部署到weblogic版本(weblogic 12.2.1.3)时,Spring Integration应用程序部署失败
【发布时间】:2021-12-02 01:05:43
【问题描述】:

应用程序在 IDE 上运行良好,当我将它作为 jar 运行时 当我在 weblogic 服务器上部署应用程序时发生异常。

我什至尝试排除 spring-starter-json 并用 gson 替换它,但我遇到了同样的问题。

这是堆栈跟踪


weblogic.application.ModuleException: java.lang.VerifyError: Bad return type

Exception Details:
  Location:
    com/fasterxml/jackson/databind/cfg/MapperBuilder.streamFactory()Lcom/fasterxml/jackson/core/TokenStreamFactory; @7: areturn
:
    Type 'com/fasterxml/jackson/core/JsonFactory' (current frame, stack[0]) is not assignable to 'com/fasterxml/jackson/core/TokenStreamFactory' (from method signature)

  Current Frame:
    bci: @7
    flags: { }
    locals: { 'com/fasterxml/jackson/databind/cfg/MapperBuilder' }
    stack: { 'com/fasterxml/jackson/core/JsonFactory' }

  Bytecode:
    0x0000000: 2ab4 0002 b600 08b0                    
    at weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:140)
    at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:124)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:233)
    at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:228)
    at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
    Truncated. see log file for complete stacktrace

【问题讨论】:

  • 为什么需要 WebLogic?如果您在本地使用它,您应该部署一个可执行的 JAR。将 Spring Boot 应用程序部署到 Java EE 应用程序服务器需要将其打包为 WAR 文件,但没有理由这样做。 Spring Boot 只需要一个可执行的 JAR。
  • 这与 Spring Integration 无关。请在提问时更加具体。看起来您以某种方式将我们的 WebLogic 类路径与您的 Jackson 依赖项搞混了。也许您需要以某种方式在 WebLogic 上使用父子类加载器。在这些 EE 服务器上,即使它们已经过时,它们也会规定必须使用哪些库,这一直是一个问题。
  • 谢谢@duffymo,部署平台我公司已经设置好了。
  • 感谢@ArtemBilan 指出我在哪里寻找解决方案,我通过关注这篇文章成功了o7planning.org/11901/… 再次感谢。
  • 好。随时为您自己的问题添加答案,以帮助社区中的其他人。

标签: spring-boot weblogic12c jackson-databind


【解决方案1】:

我通过阅读这篇文章 (https://o7planning.org/11901/deploy-spring-boot-application-on-oracle-weblogic-server) 找到了解决方案,似乎 weblogic 加载了一些已过时且与当前版本的 spring boot 不兼容的库 (com.fastxml.*)。

【讨论】:

    猜你喜欢
    • 2018-04-12
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    • 2014-09-10
    相关资源
    最近更新 更多