我有多个spring项目,它们都具有相同的自定义父POM,它们都从中继承其spring-boot版本(1.5.18.RELEASE)。只有一个子项目需要更新到2.1.4.RELEASE版本,但是当我导入spring-boot依赖项时,子项目中的spring-boot依赖项仍保持在1.5.18.RELEASE版本。
自定义父级POM:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.18.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>services</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Services :: Parent</name>
<description>Parent Project for Services</description>
儿童POM:
<parent>
<artifactId>services</artifactId>
<groupId>com.example</groupId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>../services/pom.xml</relativePath>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<!-- Import dependency management from Spring Boot -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.1.4.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
答案 0 :(得分:0)
您必须将父级更新为2.1.4.release
。这是因为如果子代和父代不同步,则可能存在很多开发问题。
提示:您可以删除子依赖项中的version标签。
答案 1 :(得分:0)
spring-boot-starter-parent
不仅定义了依赖关系,还配置了插件并提供了属性。因为您是从Spring Boot 1.5.X升级到Spring Boot 2.X,所以很可能仅仅为了增加版本就不够了,例如有incompatible changes between major releases Spring Boot 1.5.X是Java 6+,而Spring Boot 2.X是Java 8 +。
您应该将spring-boot-starter-parent-2.1.4.RELEASE
用作孩子pom.xml
的父母。您当前的做法是修修补补,请遵循Spring Boot文档并将子模块设置为适当的Spring Boot 2.X模块,否则您将浪费大量时间调试由部分设置引起的问题。