Estoy tratando de ejecutar una aplicación oauth2 simple con la última versión de Spring Boot 1.5.2.RELEASE.
Seguí todos los pasos spring-boot-oauth2 hasta que te dicen "Qué acaba de pasar", pero después de configurar application.yml, ejecutar la aplicación no funcionó y dio el siguiente error:
WARN 27759 [main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [com.opentable.DemoApplication]; nested exception is java.lang.IllegalStateException: Could not evaluate condition on org.springframework.boot.autoconfigure.security.oauth2.client.OAuth2SsoDefaultConfiguration due to org/springframework/security/config/annotation/web/configuration/WebSecurityConfigurerAdapter not found. Make sure your own configuration does not rely on that class. This can also happen if you are @ComponentScanning a springframework package (eg if you put a @ComponentScan in the default package by mistake) ERROR 27759 [main] osbfsDefaultListableBeanFactory: Destroy method on bean with name 'org.springframework.boot.autoconfigure.internalCachingMetadataReaderFactory' threw an exception java.lang.IllegalStateException: ApplicationEventMulticaster not initialized - call 'refresh' before multicasting events via the context: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@3b07a0d6: startup date [Thu Mar 30 15:06:55 IST 2017]; root of context hierarchy¿Necesito crear una clase de configuración explícitamente?
Requería que se agregara la siguiente dependencia
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>El tutorial está mal. Las dos formas mencionadas para obtener la aplicación Spring Boot para comenzar generaron un pom.xml incorrecto.
Después de agregar la dependencia del actuador anterior, las cosas funcionaron bien.
Agregue la siguiente dependencia al pom.xml:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.security.oauth</groupId> <artifactId>spring-security-oauth2</artifactId> </dependency>