問題是這樣的;
想構建整套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>