我正在学习关于Spring的视频教程(来自javabrains.io)。示例项目的pom文件包含一个父块,其中groupId为org.springframework.boot,artifactId为spring-boot-starter-parent。
此外,它还包含一个依赖块,其中groupId作为org.springframework.boot,artifactId作为spring-boot-starter-web。
为什么我们需要中的两个元素(即父元素和依赖项)?
我认为,由于项目pom继承自spring-boot-starter-parent,所有依赖项也将自动继承。
示例项目pom.xml文件如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>io.javabrains.springbootquickstart</groupId>
<artifactId>course-api</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Java Brains Course API</name>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<properties>
<java.version>1.8</java.version>
</properties>
</project>发布于 2020-02-06 22:29:10
如果您检查spring-boot-starter-parent pom文件,您将看到它提供了默认属性和maven插件配置,而spring-boot-starter-web提供了与web相关的春季依赖关系,而不需要任何其他配置。此外,这两个启动程序都继承自spring-boot-dependencies,后者定义了spring支持的依赖项列表。这允许您在构建配置中省略任何这些依赖项的版本。您可以通过阅读正式文件了解更多信息。
总之,spring-boot-starter-parent提供了
而spring-boot-starter-web则引入了与web相关的依赖关系。
https://stackoverflow.com/questions/60104282
复制相似问题