将war部署到weblogic版本(weblogic 12.2.1.3)时,Spring Integration应用程序部署失败

Posted

技术标签:

【中文标题】将war部署到weblogic版本(weblogic 12.2.1.3)时,Spring Integration应用程序部署失败【英文标题】:Spring Integration application deployment fails when deploy war to weblogic version (weblogic 12.2.1.3) 【发布时间】: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/… 再次感谢。 好。随时为您自己的问题添加答案,以帮助社区中的其他人。 【参考方案1】:

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

【讨论】:

以上是关于将war部署到weblogic版本(weblogic 12.2.1.3)时,Spring Integration应用程序部署失败的主要内容,如果未能解决你的问题,请参考以下文章

基于ant自动部署ear/war 文件到weblogic12c

在weblogic上部署vue项目

windows 7本地安装的weblogic,部署项目启动报错。

Weblogic 弱密码+部署war包getshell

weblogicwar包,捕获的异常在哪看

Weblogic Jaxws部署 - 类不支持JDK1.5