需要知道spring-boot-starter-parent和spring-boot-parent之间的区别

mutmk8jj  于 2023-10-16  发布在  Spring
关注(0)|答案(3)|浏览(143)

有没有人能解释一下spring-boot-parentspring-boot-starter-parent的区别?
他们为spring-boot-starter-parentspring-boot-parent编写单独模块的示例:

这两种依赖关系有什么区别?
在大多数项目中,我们通常使用spring-boot-starter-parent作为父节点,而不是spring-boot-parent,因为它们共享同一个父节点spring-boot-dependencies

idfiyjo8

idfiyjo81#

https://www.baeldung.com/spring-boot-starter-parent所述

Spring-boot-starter-parent

spring-boot-starter-parent项目是一个特殊的starter项目,它为我们的应用程序提供了默认配置,并提供了一个完整的依赖关系树来快速构建我们的Spring Boot项目。
它还提供了Maven插件的默认配置,例如maven-failsafe-plugin,maven-jar-plugin,maven-surefire-plugin,maven-war-plugin。
除此之外,它还继承了spring-boot-dependencies的依赖管理,spring-boot-starter-parent是spring-boot-starter-parent的父级。

spring-boot-parent

有时我们有一个自定义的Maven父母。或者,我们可能更愿意手动声明所有的Maven配置。
在这种情况下,我们可以选择不使用spring-boot-starter-parent项目。但是,我们仍然可以通过在我们的项目中的import范围中添加依赖spring-boot-dependencies来受益于它的依赖关系树。

gkl3eglg

gkl3eglg2#

Sping Boot Starter Parent帮助我们管理依赖版本,项目使用的java版本和插件的默认配置,因为我们不必手动指定很多东西。

它帮助我们做到以下几点:

  • 配置
  • 依赖管理
  • 默认插件配置(maven-failsafe-pluginmaven-jar-pluginmaven-surefire-plugin等的默认配置)

spring-boot doc
启动器是一组方便的依赖项描述符,您可以将其包含在应用程序中。您可以一站式地了解所有Spring和相关技术,而无需搜索示例代码和复制粘贴依赖项描述符

spring-boot-starter是核心启动器,提供了包括自动配置支持、日志记录和YAML在内的功能。它将spring-boot-dependencies定义为父pom。

在你提供的github url中,他们保留了一个单独的模块来指定pom中的父spring-boot-dependencies。这可能是因为他们需要单独使用spring-boot-dependencies,依赖树而不需要自动配置和插件配置,并将其作为单独的jar发布用于某些用例。

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-dependencies</artifactId>
        <version>${revision}</version>
        <relativePath>../spring-boot-dependencies</relativePath>
     </parent>

https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-parent/2.1.6.RELEASE

sczxawaw

sczxawaw3#

我相信你指的是spring-boot-starter-parentspring-boot-starter之间的区别。

*spring-boot-starter-parent-将spring-boot-dependencies作为父项,因此提供了各种spring-boot依赖项并有助于依赖项管理。除了这个spring-boot-starter-parent,它本身也有助于插件管理。所以如果你只使用spring-boot-dependencies,你可以从它提供的依赖管理中受益,但是如果你使用spring-boot-starter-parent,你会得到依赖管理+插件管理。
*spring-boot-starter-它是spring-boot-dependencies提供的依赖项,它为autoconfigure、logging和spring-core提供依赖项。为了从starter或spring-boot-dependencies中拉取任何依赖项,您需要在主pom中显式地将其添加为依赖项。

相关问题