我正在寻找关于这个例子的解释:我有一个项目,其中有一个dependencyManagement /依赖项部分,其中包含:
myproject/pom.xml:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>Brixton.M3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
</dependencies>spring定义:
<properties>
<main.basedir>${basedir}/../..</main.basedir>
<spring-cloud-netflix.version>1.1.0.BUILD-SNAPSHOT</spring-cloud-netflix.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
<version>${spring-cloud-netflix.version}</version>
</dependency>
</dependencies>
</dependencyManagement>这样,我的项目将获得spring eureka版本1.1.0.BUILD-快照。
我原以为如果我在myproject/put.xml中添加一个带有另一个版本的属性部分,我会覆盖默认版本,但是它被忽略了,为什么呢?
myproject/pom.xml
...
<properties>
<spring-cloud-netflix.version>1.0.0</spring-cloud-netflix.version>
</properties>
...发布于 2015-12-01 12:34:09
在构建org.springframework.cloud:spring-cloud-starter-eureka工件时,属性spring云-netflix.version已经被解析,所以在声明依赖项时不能仅仅覆盖它。
要正确指定某个依赖项版本,必须在pom的依赖关系管理部分中添加该依赖项的版本:
...
<properties>
<spring-cloud-netflix.version>1.0.0</spring-cloud-netflix.version>
</properties>
...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>Brixton.M3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
<version>${spring-cloud-netflix.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
</dependencies>作为多模块构建的最佳实践,您通常有一个包含依赖关系管理设置的共享主pom。所有依赖项的所有版本信息。
https://stackoverflow.com/questions/34016904
复制相似问题