您好,欢迎访问一九零五行业门户网

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.eurukaserverapplication15: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.log4j2loggerprovider15:04:35.869 [background-preinit] info org.hibernate.validator.internal.util.version - hv000001: hibernate validator 6.0.7.final15: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 tccl15:04:35.893 [background-preinit] debug org.hibernate.validator.internal.xml.resourceloaderhelper - trying to load meta-inf/validation.xml via hibernate validator's class loader15: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 tccl15: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 failedjava.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://www.w3.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://www.w3.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>
启用正常。
以上就是springboot整合eureka启动失败如何解决的详细内容。
其它类似信息

推荐信息