当启用@EnableAuthorizationServer注解时,启动项目报错
报错信息
Description: Field configurers in org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerSecurityConfiguration required a bean of type 'java.util.List' that could not be found. The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Value(value=#{@autowiredWebSecurityConfigurersIgnoreParents.getWebSecurityConfigurers()}) Action: Consider defining a bean of type 'java.util.List' in your configuration. Process finished with exit code 1
因为SpringBoot2.x已经将 security.oauth2的自动配置类spring-boot-autoconfigure的jar中移除。
如OauthAuthorizationServerConfiguration.java配置类在spring-boot-autoconfigure-1.3.5.RELEASE.jar中还是存在的
解决方法
添加maven依赖
<dependency> <groupId>org.springframework.security.oauth.boot</groupId> <artifactId>spring-security-oauth2-autoconfigure</artifactId> <version>2.0.0.RELEASE</version> </dependency>
SpringBoot2.x集成springSecurity,OAuth2.0的完整maven依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> <version>2.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.security.oauth</groupId> <artifactId>spring-security-oauth2</artifactId> <version>2.2.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.security.oauth.boot</groupId> <artifactId>spring-security-oauth2-autoconfigure</artifactId> <version>2.0.0.RELEASE</version> </dependency>