Spring Boot与Eureka服务器不兼容



我已经构建了一个eureka服务器,服务注册表。
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>Microservice</groupId>
    <artifactId>Micro1</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.8.RELEASE</version>
    </parent>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
            <version>1.0.0.RELEASE</version>
        </dependency>
        <!-- This is a web application -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- Tomcat embedded container-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

和运行应用程序的主类如下:

package org.eureka.server;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class EurekaServiceApplication {
    public static void main(String[] args) {
        //ApplicationContext ctx = new SpringApplicationBuilder().bannerMode(Banner.Mode.CONSOLE).run(args);
        SpringApplication.run(EurekaServiceApplication.class, args);
    }
}

和application.yml就是这样:

server:
  port: 8761

当它由clean spring-boot:run命令运行时,提高了以下例外:

由:java.lang.nosuchmethoderror: org.springframework.boot.builder.springapplicationbuilder.showbanner(z)lorg/springframework/boot/boot/builder/builder/springapplicationbuilder; 在 org.springframework.cloud.bootstrap.bootstrapapplicationlistener.bootstrapservicecontext(bootstrapapplicationlistener.java:110) 在 org.springframework.cloud.bootstrap.bootstrapapplicationlistener.onapplicationevent(bootstrapapplicationlistener.java:75) 在 org.springframework.cloud.bootstrap.bootstrapapplicationlistener.onapplicationevent(bootstrapapplicationlistener.java:1) 在 org.springframework.context.event.simpleapplicationeventmulticaster.doinvokelistener(SimpleApplicationEventMulticaster.java:172) 在 org.springframework.context.event.simpleapplicationeventmulticaster.invokelistener(SimpleApplicationEventMulticaster.java:165) 在 org.springframework.context.event.simpleapplicationeventmulticaster.multicastevent(SimpleApplicationEventMulticaster.java:139) 在 org.springframework.context.event.simpleapplicationeventmulticaster.multicastevent(SimpleApplicationEventMulticaster.java:122) 在 org.springframework.boot.context.event.eventpublishingrishrishristener.environmentpreprepared(eventPublublishingRunlistener.java:74) 在 org.springframework.boot.springapplicationrunlisteners.environmentprepared(springapplicationrunlisteners.java:54) 在 org.springframework.boot.springapplication.prepareenvironment(SpringApplication.java:325) 在 org.springframework.boot.springapplication.run(springapplication.java:296) 在 org.springframework.boot.springapplication.run(springapplication.java:1118) 在 org.springframework.boot.springapplication.run(springapplication.java:1107) 在 org.eureka.server.eurekaserviceapplication.main(eurekaserviceapplication.java:16)

... 6更多[info]

当我删除pom.xml中的eureka依赖依赖性时,该应用程序已成功运行。
哪里错了?

您将像这样更改您的POM

<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>org.roshan</groupId>
    <artifactId>registry</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>registry</name>
    <description></description>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.8</java.version>
    </properties>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.6.RELEASE</version>
    </parent>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Dalston.SR1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka-server</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <finalName>registry</finalName>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

相关内容

最新更新