引起:java.lang.NoSuchMethodError:org.springframework.core.GenericTypeResolver.resolveTypeArguments

时间:2014-08-23 05:00:47

标签: spring-mvc weblogic maven-3

我在eclipse ide中开发了一个maven项目(spring)。该项目在tomcat7中运行但未在weblogic server 10.3.6中运行。

我收到以下错误

Caused by: java.lang.NoSuchMethodError: org.springframework.core.GenericTypeResolver.resolveTypeArguments(Ljava/lang/Class;Ljava/lang/Class;)[Ljava/lang/Class

1 个答案:

答案 0 :(得分:1)

NoSuchMethodError几乎总是由于冲突的库版本。在这种情况下,我猜测这两个项目中有多个版本的spring库。

Weblogic pulls spring jar of some different version from its own also apart from the version you have in your application.

您应该在 weblogic.xml 中包含以下代码,以使您的应用程序更加轻松。

<wls:container-descriptor>
        <wls:prefer-application-packages>
           <package-name>antlr.*</package-name>
           <package-name>org.slf4j.*</package-name>
           <package-name>org.slf4j.helpers.*</package-name>
           <package-name>org.slf4j.impl.*</package-name>
           <package-name>org.slf4j.spi.*</package-name>
           <package-name>org.hibernate.*</package-name>
           <package-name>org.springframework.*</package-name>
           <package-name>javax.persistence.*</package-name>
           <package-name>org.apache.commons.*</package-name>
           <package-name>org.apache.xmlbeans.*</package-name>
           <package-name>javassist.*</package-name>
           <package-name>org.joda.*</package-name> 
           <package-name>org.codehaus.jackson.*</package-name>      
        </wls:prefer-application-packages>

        <wls:show-archived-real-path-enabled>true</wls:show-archived-real-path-enabled>

    </wls:container-descriptor>

它更喜欢您的应用程序罐。 这是我的应用程序,您可以根据项目需要添加/删除上述条目。