配置 Spring Boot starter 父依赖

x33g5p2x  于2022-10-05 转载在 Spring  
字(2.5k)|赞(0)|评价(0)|浏览(703)

如果您打开一个 Spring Boot 项目,您将在顶部看到它们都使用 spring-boot-starter-parent 作为 pom.xml 中的父级。

  1. <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.0.RELEASE</version> <relativePath/> </parent>

Parent Poms 允许您管理子项目的多个方面,例如:

  • 依赖管理——依赖的版本
  • 配置 – Java 版本和其他属性
  • 默认插件配置

Spring Boot Starter Parent 内部概览

Spring Boot Starter Parent 将 spring-boot-dependencies 定义为父 pom。它从 spring-boot-dependencies 继承依赖管理。下一节中的详细信息。

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

Parent pom 继续定义属性列表,例如:

  1. <properties> <main.basedir>${basedir}/../../..</main.basedir> <java.version>1.8</java.version> <resource.delimiter>@</resource.delimiter> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.target>${java.version}</maven.compiler.target> </properties>

项目可以通过再次指定属性来覆盖它,例如:

  1. <java.version>1.9</java.version>

如何覆盖默认依赖版本?

所有依赖项的实际版本都存储在 spring-boot-project/spring-boot-dependencies/pom.xml 中。这是它的摘录:

  1. <properties> <activemq.version>5.15.7</activemq.version> <antlr2.version>2.7.7</antlr2.version> <appengine-sdk.version>1.9.67</appengine-sdk.version> <artemis.version>2.6.3</artemis.version> <aspectj.version>1.9.2</aspectj.version> <assertj.version>3.11.1</assertj.version> <atomikos.version>4.0.6</atomikos.version> <bitronix.version>2.1.4</bitronix.version> <byte-buddy.version>1.9.3</byte-buddy.version> <caffeine.version>2.6.2</caffeine.version> <cassandra-driver.version>3.6.0</cassandra-driver.version> <classmate.version>1.4.0</classmate.version> <commons-codec.version>1.11</commons-codec.version> <commons-dbcp2.version>2.5.0</commons-dbcp2.version> <commons-lang3.version>3.8.1</commons-lang3.version> <commons-pool.version>1.6</commons-pool.version>

因此,如果您想覆盖依赖项的默认版本,您只需在属性标签中提供此信息,如下所示:

  1. <properties> <activemq.version>5.15.1</activemq.version> </properties>

相关文章