Java Maven强制依赖项使用Spring Boot较低版本

Java Maven强制依赖项使用Spring Boot较低版本,java,maven,spring-boot,Java,Maven,Spring Boot,我的Spring Boot应用程序的Spring Boot父版本是1.5。有一个自定义依赖项,其spring启动版本为2.0。我想强制此依赖项在主spring boot应用程序中使用spring boot 1.5。 鉴于此:依赖项的版本无法降级,因为它正被其他应用程序使用,并且无法将spring boot主应用程序从1.5升级到2.0。依赖关系对SB1.5和2.0都很好。还添加了排除标记以排除springboot 1.5。但它也没有成功 请告诉我如何强制依赖项在运行时使用1.5?您可以通过规则依

我的Spring Boot应用程序的Spring Boot父版本是1.5。有一个自定义依赖项,其spring启动版本为2.0。我想强制此依赖项在主spring boot应用程序中使用spring boot 1.5。
鉴于此:依赖项的版本无法降级,因为它正被其他应用程序使用,并且无法将spring boot主应用程序从1.5升级到2.0。依赖关系对SB1.5和2.0都很好。还添加了排除标记以排除springboot 1.5。但它也没有成功

请告诉我如何强制依赖项在运行时使用1.5?

您可以通过规则依赖项聚合在整个项目中保持一致的依赖项

<plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-enforcer-plugin</artifactId>
     <version>1.3.1</version>
     <executions>
        <execution>
           <id>enforce</id>
           <configuration>
              <rules>
                 <DependencyConvergence/>
              </rules>
           </configuration>
           <goals>
              <goal>enforce</goal>
           </goals>
        </execution>
     </executions>
  </plugin>

org.apache.maven.plugins
maven enforcer插件
1.3.1
执行
执行

您不能更改依赖项的父POM

但是,您可以覆盖在依赖项的父POM中定义的依赖项。这可以使用与覆盖其他可传递依赖项相同的机制来完成(


由于依赖项是依赖项的父POM对您的构建作出贡献的唯一方式,因此您无需更改它。

可能重复@SilviuBurcea。这个问题不是关于依赖关系之间的冲突。问题在于家长。还没有升级依赖项版本。我认为您误解了副本:它解释了如何排除依赖项的依赖项,因为您已经有了不同的版本。依赖项的父POM有什么影响?它是否会导致项目中的依赖项版本错误?通常,您需要非常关心依赖项的父POM版本,只要它不定义依赖项。我的回答解决了您的问题吗?