我正在使用spring boot并且具有以下依赖性。如果你看一下jetty
依赖项,我希望它能用" 9.4.1.v20170120"来获取所有的jetty依赖项。后缀,但它提取错误的版本。我在另一个正确获取它的项目中使用相同的东西。请看一下图片。
pom.xml条目:
<properties>
<java.version>1.8</java.version>
<junit.version>4.11</junit.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
</dependencies>
为什么会这样?
答案 0 :(得分:3)
它是maven传递依赖性解析。
默认情况下,Maven使用nearest-wins解决版本冲突 策略
当解析依赖关系并且库之间存在冲突时,Maven选择更靠近根的库。在您的情况下,它是javax.servlet-api.3.1.0.jar