2012-04-10 109 views
1

我創建了一個Spring web應用程序,該應用程序正在使用tomcat和CloudFoundry,但是在嘗試在JBoss(OpenShift express)上啓動應用程序時出現錯誤。將Spring應用程序部署到JBoss時出錯 - NoSuchMethodError

在啓動我得到以下錯誤:

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衝突/ dupplication去檢查依賴性衝突maven的設置,但是,在檢查的傳遞依賴在Eclipse的Maven依賴層次結構,我definetly exlcuding所有版本3.1.1除外(這類問題在V3.0中引入我相信) - 這既是Spring-coreorg.springframework.core

任何人有任何想法我可能會丟失?

回答

1

好的,我發現了這個問題。我已經排除了spring-core依賴關係(這已經排除了從它是傳遞依賴關係的每個依賴關係庫),我認爲這將是好的,因爲我正在使用org.springframework.core庫,而不是。但是,它看起來只是將它們排除在第一級傳遞依賴關係之外,而且在我構建的WAR文件中,它仍在下拉spring-core.3.0.3(我之前沒做過,因爲我正在部署到Redhat的OpenShift平臺,並且它花了一些工作設置的東西,所以我可以scp到服務器以獲得構建的戰爭)

我現在通過明確聲明依賴於spring-core.3.1.1並排除所有其他人以確保最新獲取下。

我想道德是不相信M2Eclipse插件中的「已解決的依賴性」視圖爲正在使用的庫的視圖。

相關問題