【问题标题】:Error Deploying Spring app to JBoss - NoSuchMethodError将 Spring 应用程序部署到 JBoss 时出错 - NoSuchMethodError
【发布时间】:2012-04-23 02:08:44
【问题描述】:

我创建了一个 Spring webapp,该应用在 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

有人知道我可能缺少什么吗?

【问题讨论】:

    标签: java spring maven dependencies


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-30
      • 2020-12-01
      • 2012-03-24
      • 2014-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-18
      相关资源
      最近更新 更多