【发布时间】:2021-08-04 09:09:53
【问题描述】:
假设我有一个名为 parent(类型 pom)的项目,它继承了 spring-boot-starter-parent:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.4</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.demo</groupId>
<artifactId>parent</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
</dependencies>
</dependencyManagement>
你可以看到我在 dependencyManagement
有一个依赖项接下来,我创建了继承 parent 的项目 mid:
<parent>
<groupId>com.demo</groupId>
<artifactId>parent</artifactId>
<version>1.0.0</version>
</parent>
<artifactId>mid</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>emms-backend</name>
<packaging>pom</packaging>
<modules>
<module>child</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
</dependencies>
</dependencyManagement>
最后,我创建了继承mid的项目child:
<parent>
<groupId>com.demo</groupId>
<artifactId>mid</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>child</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
</dependencies>
但是当我使用 mvn install 构建子时,我得到一个错误,没有找到 spring-boot-startter-webflux 的版本。如果我将行 <version>2.4.4</version> 放在 parent 项目的依赖项中,它也不起作用。如果我将行 <version>2.4.4</version> 放在 mid 项目的依赖项中,它就可以工作。但我希望我不需要将版本放在任何地方。是不是我哪里搞错了?
【问题讨论】:
-
您需要在父项目中使用
mvn install(在您的情况下为mid),以便将更改应用于子项目。 -
不是这里的问题,兄弟