本文概述
- 依赖管理的优点
- Maven依赖管理系统
依赖管理的优点
- 通过在一处指定Spring Boot版本, 它提供了依赖性信息的集中化。当我们从一个版本切换到另一个版本时, 它会有所帮助。
- 它避免了不同版本的Spring Boot库的不匹配。
- 我们只需要写一个库名称并指定版本。在多模块项目中很有用。
- 默认的Java编译器版本
- UTF-8源编码
- 它从spring-boot-dependency-pom继承了Dependency Section。它管理常见依赖项的版本。它忽略该依赖项的< version> 标记。
- 依赖关系, 继承自spring-boot-dependencies POM
- 明智的资源过滤
- 明智的插件配置
在配置项目时, 以下spring-boot-starter-parent会自动继承。
<
parent>
<
groupId>
org.springframework.boot<
/groupId>
<
artifactId>
spring-boot-starter-parent<
/artifactId>
<
version>
2.2.2.BUILD-SNAPSHOT<
/version>
<
!-- lookup parent from repository -->
<
relativePath/>
<
/parent>
注意:在以上依赖性中, 我们仅指定了Spring Boot版本。如果要添加其他启动器, 只需删除< version> 标记。同样, 我们也可以通过覆盖项目中的属性来覆盖个人依赖性。例如, 如果我们要添加与已经注入的相同工件的另一个依赖关系, 请将该依赖关系再次注入< properties> 标记内以覆盖先前的依赖关系。
更改Java版本
我们还可以使用< java.version> 标记来更改Java版本。
<
properties>
<
java.version>
1.8<
/java.version>
<
/properties>
添加Spring Boot Maven插件
我们还可以在pom.xml文件中添加Maven插件。它将项目包装到可执行的jar文件中。
<
build>
<
plugins>
<
plugin>
<
groupId>
org.springframework.boot<
/groupId>
<
artifactId>
spring-boot-maven-plugin<
/artifactId>
<
/plugin>
<
/plugins>
<
/build>
没有父POM的Spring Boot
如果我们不想使用spring-boot starter-parent依赖关系, 但仍然想利用依赖关系管理的优势, 则可以使用< scope> 标记, 如下所示:
注意:它不维护插件管理。
<
dependencyManagement>
<
dependencies>
<
dependency>
<
!-- Import dependency management from Spring Boot -->
<
groupId>
org.springframework.boot<
/groupId>
<
artifactId>
spring-boot-dependencies<
/artifactId>
<
version>
2.2.2.RELEASE<
/version>
<
type>
pom<
/type>
<
scope>
import<
/scope>
<
/dependency>
<
/dependencies>
<
/dependencyManagement>
上述依赖性不允许覆盖。为了实现覆盖, 我们需要在spring-boot-dependencies条目之前的项目的< dependencyManagement> 标记内添加一个条目。
【Spring Boot依赖管理详细介绍】例如, 要升级另一个spring-data-releasetrain, 请在pom.xml文件中添加以下依赖项。
<
dependencyManagement>
<
dependencies>
<
!--Override Spring Data release train-->
<
dependency>
<
groupId>
org.springframework.data<
/groupId>
<
artifactId>
spring-data-releasetrain<
/artifactId>
<
version>
Fowler-SR2<
/version>
<
type>
pom<
/type>
<
scope>
import<
/scope>
<
/dependency>
<
dependency>
<
groupId>
org.springframework.boot<
/groupId>
<
artifactId>
spring-boot-dependencies<
/artifactId>
<
version>
2.2.2.RELEASE<
/version>
<
type>
pom<
/type>
<
scope>
import<
/scope>
<
/dependency>
<
/dependencies>
<
/dependencyManagement>
推荐阅读
- Spring Boot CLI创建并运行Web项目
- Spring Boot DevTools用法示例图解
- Android 开源框架 ( 六 ) Volley --- Google的轻量级网络通信框架
- MyBatis框架浅析之 Mapper.xml 映射文件
- appium 后台运行shell脚本
- JMM与happens-before
- ubuntu上Android开发环境及依赖项
- DLL注入之Appinit_Dlls
- qt 在windows 以及android 运用资源时的路径使用用限制