繁体   English   中英

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

[英]Error Deploying Spring app to JBoss - NoSuchMethodError

我创建了一个 Spring 网络应用程序,该应用程序正在 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 依赖层次结构中的传递依赖之后,我 def.netly 排除了除 3.1.1 之外的所有版本(这个 8819581818 中的 2我相信 v3.0 中引入了这个问题) - 这是Spring-coreorg.springframework.core的问题)

任何人都知道我可能会遗漏什么?

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM