gpt4 book ai didi

java - 将 Spring 应用程序部署到 JBoss 时出错 - NoSuchMethodError

转载 作者:太空宇宙 更新时间:2023-11-04 08:18:00 25 4
gpt4 key购买 nike

我已经创建了一个 Spring Web 应用程序,该应用程序正在 tomcat 和 CloudFoundry 上运行,但尝试在 JBoss (OpenShift Express) 上启动该应用程序时遇到错误。

启动时出现以下错误:

2012/04/10 11:11:58,967 ERROR [org.springframework.web.context.ContextLoader] (MSC service thread 1-1) Context initialization failed: org.springframework.beans.BeanInstantiationException: 
Could not instantiate bean class [org.springframework.web.context.support.XmlWebApplicationContext]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError:
org.springframework.core.convert.converter.ConverterRegistry.addConverter(Ljava/lang/Class;Ljava/lang/Class;Lorg/springframework/core/convert/converter/Converter;)V
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:162) [spring-beans-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:104) [spring-beans-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at java.lang.Thread.run(Thread.java:679) [rt.jar:1.6.0_22]
Caused by: java.lang.NoSuchMethodError: org.springframework.core.convert.converter.ConverterRegistry.addConverter(Ljava/lang/Class;Ljava/lang/Class;Lorg/springframework/core/convert/converter/Converter;)V
at org.springframework.core.convert.support.DefaultConversionService.addScalarConverters(DefaultConversionService.java:62) [org.springframework.core-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.core.convert.support.DefaultConversionService.addDefaultConverters(DefaultConversionService.java:53) [org.springframework.core-3.1.1.RELEASE.jar:3.1.1.RELEASE]
at org.springframework.core.convert.support.DefaultConversionService.<init>(DefaultConversionService.java:42) [org.springframework.core-3.1.1.RELEASE.jar:3.1.1.RELEASE]
... 12 more

我认为这是一个 JAR 冲突/重复,并去检查 Maven 设置是否存在依赖冲突,但是,在检查了 Eclipse Maven 依赖关系层次结构中的传递依赖关系后,我明确排除了除 3.1.1 之外的所有版本(我相信这个类是在 v3.0 中引入的) - 并且是 Spring-coreorg.springframework.core 的)

有人知道我可能会错过什么吗?

最佳答案

好的,我发现了这个问题。

在 Eclipse 中使用 M2Eclipse Maven 插件,我排除了 spring-core 依赖项(这已将该库从作为传递依赖项的每个依赖项中排除),我认为这没问题,因为我使用的是 org.springframework.core 库。

但是,看起来它只是将它们排除在第一级传递依赖项之外,并且在我构建的 WAR 文件中,它仍然在拉动 spring-core.3.0.3 (我之前没有这样做,因为我正在部署到 Redhat 的 OpenShift 平台,并且需要一些工作来进行设置,以便我可以 scp 到服务器来获取构建的 war)

我现在已经通过显式声明对 spring-core.3.1.1 的依赖并排除所有其他内容以确保拉取最新版本来解决此问题。

我想道德是不要相信 M2Eclipse 插件中的“已解决的依赖关系” View 来查看正在使用的库的 View 。

关于java - 将 Spring 应用程序部署到 JBoss 时出错 - NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10094611/

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