spring cloud 在使用Finchley.SR2 创建服务注册中心时 一直报版本冲突

问题是这样的;

想构建整套Spring Cloud 的流程。spring cloud 的版本采用:Finchley:SR2

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>Finchley.SR2</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

在父pom中已经引入了

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.2.RELEASE</version>
  </parent>
  <dependencies>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter</artifactId>
      <version>2.0.2.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

spring-boot 和 spring-cloud 并且声明了版本,但是在构建服务注册中心的时候,

在这个子pom中,还是要求填写版本号:

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-netflix-eureka-server</artifactId>
        </dependency>

如果像上面一样,不输入<version>

那么Application类中的注解@EnableEurekaServer 就引用不到包,必须要声明版本。

这里问题就在于父pom的<dependencyManagement> 需要声明type属性和scope属性,改为如下即可:

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

猜你喜欢

转载自blog.csdn.net/u014209205/article/details/106672238
今日推荐