配置 Spring Boot starter 父依赖

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

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

<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 继承依赖管理。下一节中的详细信息。

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

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

<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>

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

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

如何覆盖默认依赖版本?

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

<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>

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

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

相关文章

微信公众号

最新文章

更多