springcloud 入门第一坑[org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process]

springcloud 需要和springboot搭配使用,而其中,对于初学者来说,版本的搭配是相对关键 .通常网上的教程都会有相应的版本搭配,而我因为已经是用了springboot 1.5.10 所以,只能挑选对应的springcloud版本,如果版本没挑选对,就会出现异常.


记录我花了两天的时间理出来的一个坑.

我的配置是这样的:

<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.10.RELEASE</version>
		 <relativePath/>
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<all.version>0.0.1-SNAPSHOT</all.version>
	</properties>
	<modules>
		<module>test-common</module>
		<module>test-core</module>
		<module>test-uapp</module>
	</modules>
	
	<dependencyManagement>
		<dependencies>
			<dependency> 
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Camden.SR3</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>


	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build> 


	<repositories>
		<repository>
			<id>spring-milestones</id>
			<name>Spring Milestones</name>
			<url>https://repo.spring.io/milestone</url>
			<snapshots>
				<enabled>false</enabled>
			</snapshots> 
		</repository>
	</repositories> 
	
	

于是就报了这个错,

2018-03-15 23:27:54.141  INFO 2772 --- [           main] c.jmsw.uapp.sys.EurekaserverApplication  : No active profile set, falling back to default profiles: default
2018-03-15 23:27:54.153  INFO 2772 --- [           main] ationConfigEmbeddedWebApplicationContext : Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@5ef6ae06: startup date [Thu Mar 15 23:27:54 CST 2018]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@35047d03
2018-03-15 23:27:54.192  WARN 2772 --- [           main] ationConfigEmbeddedWebApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [com.jmsw.uapp.sys.EurekaserverApplication]; nested exception is java.lang.IllegalStateException: Failed to introspect annotated methods on class org.springframework.cloud.netflix.eureka.server.EurekaServerConfiguration
2018-03-15 23:27:54.202 ERROR 2772 --- [           main] o.s.boot.SpringApplication               : Application startup failed

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [com.jmsw.uapp.sys.EurekaserverApplication]; nested exception is java.lang.IllegalStateException: Failed to introspect annotated methods on class org.springframework.cloud.netflix.eureka.server.EurekaServerConfiguration
	at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:616) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:299) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:245) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:198) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:167) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:308) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:228) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:272) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:92) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:687) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:525) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122) ~[spring-boot-1.5.10.RELEASE.jar:1.5.10.RELEASE]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) [spring-boot-1.5.10.RELEASE.jar:1.5.10.RELEASE]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) [spring-boot-1.5.10.RELEASE.jar:1.5.10.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-1.5.10.RELEASE.jar:1.5.10.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) [spring-boot-1.5.10.RELEASE.jar:1.5.10.RELEASE]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107) [spring-boot-1.5.10.RELEASE.jar:1.5.10.RELEASE]
	at com.jmsw.uapp.sys.EurekaserverApplication.main(EurekaserverApplication.java:13) [classes/:na]
Caused by: java.lang.IllegalStateException: Failed to introspect annotated methods on class org.springframework.cloud.netflix.eureka.server.EurekaServerConfiguration
	at org.springframework.core.type.StandardAnnotationMetadata.getAnnotatedMethods(StandardAnnotationMetadata.java:163) ~[spring-core-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassParser.retrieveBeanMethodMetadata(ConfigurationClassParser.java:380) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:314) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:245) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:606) ~[spring-context-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	... 17 common frames omitted
Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/context/embedded/FilterRegistrationBean
	at java.lang.Class.getDeclaredMethods0(Native Method) ~[na:1.8.0_162]
	at java.lang.Class.privateGetDeclaredMethods(Unknown Source) ~[na:1.8.0_162]
	at java.lang.Class.getDeclaredMethods(Unknown Source) ~[na:1.8.0_162]
	at org.springframework.core.type.StandardAnnotationMetadata.getAnnotatedMethods(StandardAnnotationMetadata.java:152) ~[spring-core-4.3.14.RELEASE.jar:4.3.14.RELEASE]
	... 21 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.springframework.boot.context.embedded.FilterRegistrationBean
	at java.net.URLClassLoader.findClass(Unknown Source) ~[na:1.8.0_162]
	at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.8.0_162]
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) ~[na:1.8.0_162]
	at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.8.0_162]
	... 25 common frames omitted



或者就是启动成功了,但是无法访问sprincloud的那个网页 eureka , 

在经历了多次启动测试后,发现,它们两个之间的版本搭配尤其重要,也曾经在网上搜索资料


找到过这样的资料(转)

Spring Boot Spring Cloud
1.2.x Angel版本
1.3.x Brixton版本
1.4.x Camden版本
1.5.x Dalston版本、Edgware版本
2.0.x Finchley版本

备注: 
1. 版本不对应可能造成maven编译项目时报错。 
2. Spring Cloud 版本采用命名的方式,使用伦敦地铁站名。其中SRx为该版本的一个Service Release版本,x为一个递增的数字。例如:Dalston SR4。


于是我换成过对应的dalstion 版本,但是还是不行,后面去了SpringCloud官网, https://projects.spring.io/spring-cloud/ 

在官网上已经 有给出相应的搭配版本,,,直接复制下来就好了,,于是,我历时两天的问题居然只是去一趟官网就.......



于是我就把Springcloud的版本改成了Edgware.SR2  ,于是就启动成功


ps:记录下这个问题,相信不止我一个初学者会遇到这个问题,虽然很多教程上都有给出相匹配的版本搭配,不过还是需要去了解下,还有这个需要搭配对应的jdk,目前这个版本 最好使用jdk1.8 ,,千万不要使用9 .....











猜你喜欢

转载自blog.csdn.net/u012930316/article/details/79578006