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>

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章