好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

springBoot整合Eureka启动失败的解决方案

其实springBoot 整合Eureka 是比较简单 ,可是我发现很多人整合后会启动不了,我这里列出比较常见的报错的原因

报:A child container failed during start

如图下这样

这个原因是因为pom.xml 没有添加

<dependencyManagement> <dependencies> <dependency> <groupId> org.springframework.cloud </groupId> <artifactId> spring-cloud-dependencies </artifactId> <version> Finchley.SR1 </version> <type> pom </type> <scope> import </scope> </dependency> </dependencies> </dependencyManagement>

假如添加后依然报错:

报错原因是因为Springboot 与 SpringCloud 版本不配对

修改后就行正常运行了!最后把他们相对应的版本贴出来,可以看着相对应的springboot版本改springCloud

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

SpringCloud异常(Euruka)

Application run failed java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder

在测试Euruka作为服务注册中心的时候碰到了这个问题,错误提示如下:

"C:\Program Files\Java\jdk1.8.0_161\bin\java" - XX : TieredStopAtLevel = 1 -........ com . fangxing . springcloud . eurukaserver . EurukaServerApplication 15 : 04 : 35.690 [ main ] DEBUG org . springframework . boot . context . logging . ClasspathLoggingApplicationListener - Application failed to start with classpath : ....... file : /D:/ Program % 20Files / JetBrains / IntelliJ % 20IDEA % 202017.3 . 5 / lib / idea_rt . jar ] 15 : 04 : 35.867 [ background - preinit ] DEBUG org . jboss . logging - Logging Provider : org . jboss . logging . Log4j2LoggerProvider 15 : 04 : 35.869 [ background - preinit ] INFO org . hibernate . validator . internal . util . Version - HV000001 : Hibernate Validator 6.0 . 7.Final 15 : 04 : 35.884 [ background - preinit ] DEBUG org . hibernate . validator . internal . engine . resolver . TraversableResolvers - Cannot find javax . persistence . Persistence on classpath . Assuming non JPA 2 environment . All properties will per default be traversable . 15 : 04 : 35.890 [ background - preinit ] DEBUG org . hibernate . validator . internal . xml . ValidationXmlParser - Trying to load META - INF / validation . xml for XML based Validator configuration . 15 : 04 : 35.892 [ background - preinit ] DEBUG org . hibernate . validator . internal . xml . ResourceLoaderHelper - Trying to load META - INF / validation . xml via TCCL 15 : 04 : 35.893 [ background - preinit ] DEBUG org . hibernate . validator . internal . xml . ResourceLoaderHelper - Trying to load META - INF / validation . xml via Hibernate Validator 's class loader 15:04:35.894 [background-preinit] DEBUG org.hibernate.validator.internal.xml.ValidationXmlParser - No META-INF/validation.xml found. Using annotation based configuration only. 15:04:36.086 [background-preinit] DEBUG org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator - Loaded expression factory via original TCCL 15:04:36.090 [background-preinit] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator as ValidatorFactory-scoped message interpolator. 15:04:36.090 [background-preinit] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.internal.engine.resolver.TraverseAllTraversableResolver as ValidatorFactory-scoped traversable resolver. 15:04:36.090 [background-preinit] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.internal.util.ExecutableParameterNameProvider as ValidatorFactory-scoped parameter name provider. 15:04:36.090 [background-preinit] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.internal.engine.DefaultClockProvider as ValidatorFactory-scoped clock provider. 15:04:36.090 [background-preinit] DEBUG org.hibernate.validator.internal.engine.ValidatorFactoryImpl - HV000234: Using org.hibernate.validator.internal.engine.scripting.DefaultScriptEvaluatorFactory as ValidatorFactory-scoped script evaluator factory. 15:04:36.404 [main] ERROR org.springframework.boot.SpringApplication - Application run failed java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:120) at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:84) at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:62) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127) at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:74) at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:351) at org.springframework.boot.SpringApplication.run(SpringApplication.java:317) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1246) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1234) at com.fangxing.springcloud.eurukaserver.EurukaServerApplication.main(EurukaServerApplication.java:16) Process finished with exit code 1

其根本原因是依赖包的版本冲突,我的这个pom.xml文件如下:

<? xml version = "1.0" encoding = "UTF-8" ?> <project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://HdhCmsTestw3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > <modelVersion> 4.0.0 </modelVersion> <groupId> com.fangxing.springcloud </groupId> <artifactId> euruka-server </artifactId> <version> 0.0.1-SNAPSHOT </version> <packaging> jar </packaging> <name> euruka-server </name> <description> Demo project for Eureka Server </description> <parent> <groupId> org.springframework.boot </groupId> <artifactId> spring-boot-starter-parent </artifactId> <version> 2.0.0.RELEASE </version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding> UTF-8 </project.build.sourceEncoding> <project.reporting.outputEncoding> UTF-8 </project.reporting.outputEncoding> <java.version> 1.8 </java.version> </properties> <dependencies> <dependency> <groupId> org.springframework.boot </groupId> <artifactId> spring-boot-starter-web </artifactId> </dependency> <dependency> <groupId> org.springframewor k.boot </groupId> <artifactId> spring-boot-starter-test </artifactId> <scope> test </scope> </dependency> <dependency> <groupId> org.springframework.cloud </groupId> <artifactId> spring-cloud-starter-eureka-server </artifactId> </dependency> </dependencies> <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> </project>

这里用到的SpringBoot版本为2.0.0.0版本,我们调整一下版本,改用下面的pom.xml

<? xml version = "1.0" encoding = "UTF-8" ?> <project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://HdhCmsTestw3.org/2001/XMLSchema-instance" xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > <modelVersion> 4.0.0 </modelVersion> <groupId> com.fangxing.springcloud </groupId> <artifactId> euruka-server </artifactId> <version> 0.0.1-SNAPSHOT </version> <packaging> jar </packaging> <name> euruka-server </name> <description> Demo project for Eureka Server </description> <!--基于Springboot--> <parent> <groupId> org.springframework.boot </groupId> <artifactId> spring-boot-starter-parent </artifactId> <version> 1.4.0.RELEASE </version> <relativePath/> </parent> <properties> <!--设置字符编码及java版本--> <project.build.sourceEncoding> UTF-8 </project.build.sourceEncoding> <java.version> 1.8 </java.version> </properties> <dependencies> <!--增加eureka-server的依赖--> <dependency> <groupId> org.springframework.cloud </groupId> <artifactId> spring-cloud-starter-eureka-server </artifactId> </dependency> <!--用于测试的,本例可省略--> <dependency> <groupId> org.springframework.boot </groupId> <artifactId> spring-boot-starter-test </artifactId> <scope> test </scope> </dependency> </dependencies> <!--依赖管理,用于管理spring-cloud的依赖,其中Camden.SR3是版本号--> <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> </project>

启用正常。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

原文链接:https://blog.csdn.net/weixin_42006112/article/details/102481050

查看更多关于springBoot整合Eureka启动失败的解决方案的详细内容...

  阅读:30次