当部署到WebLogic时,得到 "weblogic.application.ModuleException: java.lang.NoSuchMethodError: org.springframework.util.MultiValueMap.addAll"。

问题描述 投票:0回答:1

我有一些Spring Boot Maven项目。它们都是REST服务的简单包装器,用于实现 Angular/React UI客户端。我在Eclipse中使用集成的Tomcat-9进行开发,然后部署到Linux上的WebLogic-12c [WLS]。我使用 spring-boot-starter-parent 版本2.2.4.RELEASE 与以下组件。

  • spring-boot-starter-web
  • 弹簧安全配置
  • 春节安全网

这些projectswebapps非常相似,在WLS中都能正常工作,虽然我们遇到了一些classpath冲突,但是可以通过在 WEB-INF/weblogic.xml 的建议。

              <wls:prefer-web-inf-classes>false</wls:prefer-web-inf-classes>
              <wls:prefer-application-packages>
                     <wls:package-name>org.slf4j</wls:package-name>
                     <wls:package-name>org.springframework.*</wls:package-name>
              </wls:prefer-application-packages>

然而,最后一个项目尽管配备了相同的weblogic.xml,却无法部署到WLS。它在 Tomcatlocal WLS但在服务器上却失败了,原因如下:我在本地电脑上安装了两个版本的WLS--14c和12c--就像我们在Linux服务器上运行的一样。

weblogic.application.ModuleException: 


 Caused By: java.lang.NoSuchMethodError: org.springframework.util.MultiValueMap.addAll(Ljava/lang/Object;Ljava/util/List;)V


        at org.springframework.core.io.support.SpringFactoriesLoader.loadSpringFactories(SpringFactoriesLoader.java:140)

        at org.springframework.core.io.support.SpringFactoriesLoader.loadFactoryNames(SpringFactoriesLoader.java:119)

        at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:429)

        at org.springframework.boot.SpringApplication.getSpringFactoriesInstances(SpringApplication.java:421)

        at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:268)

我在本地电脑上安装了两个版本的WLS - 14c,然后是12c - 就像我们在Linux服务器上运行的一样。这个项目在本地运行时没有任何问题。

这个 "坏的 "项目和 "好的 "项目有着完全相同的依赖关系。事实上,在 WEB-INF/lib 是完全一样的。到目前为止,我找不到这个项目的特殊之处,以至于Spring无法初始化。

所以我的问题在这里。是什么原因可能导致这个WLS部署问题,以及解决的方法。

非常感谢大家的帮助。

java spring-boot maven weblogic12c
1个回答
0
投票

在我添加了 <wls:package-name>org.springframework.*</wls:package-name> 就不会有问题......如果我先有 删除 部署失败。然而,我使用了 安装 选项上传新的战争文件,然后在WL控制台的 更新 来重新部署。显然WL对这种方法有意见,万一要更新一个一开始就失败的部署。

© www.soinside.com 2019 - 2024. All rights reserved.