spring-boot-starter-parent简介

栏目: Java · 发布时间: 6年前

内容简介:本指南将帮助您了解Spring Boot Starter Parent如何帮助管理依赖项版本,所有Spring Boot项目通常使用spring-boot-starter-parent作为pom.xml中的父项:Parent Poms为多个子项目和模块管理以下内容:首先 启动器Spring Boot Starter Parent将spring-boot-dependencies定义为父pom。它从spring-boot-dependencies继承了依赖关系管理。

本指南将帮助您了解Spring Boot Starter Parent如何帮助管理依赖项版本,所有Spring Boot项目通常使用spring-boot-starter-parent作为pom.xml中的父项:

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.0.RELEASE</version>
    </parent>

Parent Poms为多个子项目和模块管理以下内容:

  • 配置 - Java版本和其他属性
  • Depedency Management - 依赖项的版本
  • 默认插件配置

内部原理

首先 启动器Spring Boot Starter Parent将spring-boot-dependencies定义为父pom。它从spring-boot-dependencies继承了依赖关系管理。

<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-dependencies</artifactId>
   <version>1.4.0.RELEASE</version>
   <relativePath>../../spring-boot-dependencies</relativePath>
</parent>

默认的 java 版本是1.6。项目可以通过<java.version>1.8</java.version>在项目pom中指定属性来覆盖它。还有一些与编码和源相关的其他设置,目标版本也在父pom中设置。

<java.version>1.6</java.version>
<resource.delimiter>@</resource.delimiter> <!-- delimiter that doesn't clash with Spring ${} placeholders -->
<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>

Spring Boot Starter Parent指定了一系列插件的默认配置,包括maven-failsafe-plugin,maven-jar-plugin和maven-surefire-plugin。

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-failsafe-plugin</artifactId>
   <executions>
      <execution>
         <goals>
            <goal>integration-test</goal>
            <goal>verify</goal>
         </goals>
      </execution>
   </executions>
</plugin>
<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-jar-plugin</artifactId>
   <configuration>
      <archive>
         <manifest>
            <mainClass>${start-class}</mainClass>
            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
         </manifest>
      </archive>
   </configuration>
</plugin>
<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-surefire-plugin</artifactId>
   <configuration>
      <includes>
         <include>**/*Tests.java</include>
         <include>**/*Test.java</include>
      </includes>
      <excludes>
         <exclude>**/Abstract*.java</exclude>
      </excludes>
   </configuration>
</plugin>

Spring Boot Starter Parent从spring-boot-dependencies继承了什么?

Spring Boot Dependencies定义了所有Spring Boot项目的默认依赖关系管理。如果我们想要使用特定依赖项的新版本,我们可以通过在项目pom中指定新属性来覆盖该版本。下面的摘录显示了由Spring Boot Dependencies父pom管理的一些重要依赖项。由于Spring Boot Starter Parent继承自spring-boot-dependencies,因此它也共享所有这些特性。

<properties>
   <activemq.version>5.13.4</activemq.version>
         ...
   <ehcache.version>2.10.2.2.21</ehcache.version>
   <ehcache3.version>3.1.1</ehcache3.version>
         ...
   <h2.version>1.4.192</h2.version>
   <hamcrest.version>1.3</hamcrest.version>
   <hazelcast.version>3.6.4</hazelcast.version>
   <hibernate.version>5.0.9.Final</hibernate.version>
   <hibernate-validator.version>5.2.4.Final</hibernate-validator.version>
   <hikaricp.version>2.4.7</hikaricp.version>
   <hikaricp-java6.version>2.3.13</hikaricp-java6.version>
   <hornetq.version>2.4.7.Final</hornetq.version>
   <hsqldb.version>2.3.3</hsqldb.version>
   <htmlunit.version>2.21</htmlunit.version>
   <httpasyncclient.version>4.1.2</httpasyncclient.version>
   <httpclient.version>4.5.2</httpclient.version>
   <httpcore.version>4.4.5</httpcore.version>
   <infinispan.version>8.2.2.Final</infinispan.version>
   <jackson.version>2.8.1</jackson.version>
         ....
   <jersey.version>2.23.1</jersey.version>
   <jest.version>2.0.3</jest.version>
   <jetty.version>9.3.11.v20160721</jetty.version>
   <jetty-jsp.version>2.2.0.v201112011158</jetty-jsp.version>
   <spring-security.version>4.1.1.RELEASE</spring-security.version>
   <tomcat.version>8.5.4</tomcat.version>
   <undertow.version>1.3.23.Final</undertow.version>
   <velocity.version>1.7</velocity.version>
   <velocity-tools.version>2.0</velocity-tools.version>
   <webjars-hal-browser.version>9f96c74</webjars-hal-browser.version>
   <webjars-locator.version>0.32</webjars-locator.version>
   <wsdl4j.version>1.6.3</wsdl4j.version>
   <xml-apis.version>1.4.01</xml-apis.version>
</properties>

将Maven 3.2.1定义为所需的最低版本:

<prerequisites>
   <maven>3.2.1</maven>
</prerequisites>

Spring Boot


以上所述就是小编给大家介绍的《spring-boot-starter-parent简介》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Spring Into HTML and CSS

Spring Into HTML and CSS

Molly E. Holzschlag / Addison-Wesley Professional / 2005-5-2 / USD 34.99

The fastest route to true HTML/CSS mastery! Need to build a web site? Or update one? Or just create some effective new web content? Maybe you just need to update your skills, do the job better. Welco......一起来看看 《Spring Into HTML and CSS》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

html转js在线工具
html转js在线工具

html转js在线工具