我使用的是springboot版本:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.2.RELEASE</version>
</parent
在我使用spring security oauth版本2.0.7版本的另一个项目中:
<groupId>org.springframework.security.oauth</groupId>
<artifactId>spring-security-oauth2</artifactId>
<version>2.0.7.RELEASE</version>
第二个oauth项目被添加为父项目的依赖项。 两个项目都成功构建。 但是在Application启动时会出现以下错误:
java.lang.NoSuchMethodError: org.springframework.beans.factory.support.DefaultListableBeanFactory.isAllowEagerClassLoading()Z
at org.springframework.boot.autoconfigure.condition.BeanTypeRegistry.get(BeanTypeRegistry.java:147)
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.collectBeanNamesForType(OnBeanCondition.java:158)
at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getBeanNamesForType(OnBeanCondition.java:147)
答案 0 :(得分:0)
您正在尝试使用不符合Spring Boot要求的Spring Framework版本。
作为described in the documentation,Spring Boot 1.2.2需要Spring Framework 4.1.3或更高版本。 isAllowEagerClassLoading
已添加到Spring Framework 4.1.2中的DefaultListableBeanFactory
,因此您必须使用4.1.1或更早版本。
理想情况下,您应该删除Spring Framework依赖项版本的任何手动配置,并允许从spring-boot-starter-parent
继承的依赖项管理获得控制权。如果不这样做,您应该手动指定兼容版本。