SpringBoot依赖管理简单介绍
spring-boot-starter-parent依赖
<!-- Spring Boot 父项目依赖管理 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
上述代码将spring-boot-starter-parent依赖作为SpringBoot项目的统一父项目依赖管理,并将项目版本号统一为2.3.2.RELEASE。进入spring-boot-starter-parent的底层源文件发现有一个父依赖spring-boot-dependencies,再进入可以看到许多通过properties标签配置的依赖文件,如spring、tomcat等,都有与该版本相匹配的版本。如果pom.xml引入的依赖文件不是spring-boot-starter-parent管理的,则需要在引入依赖时使用version标签指定依赖文件的版本号,当然引入第三方依赖的启动器时要配置版本号,如druid-spring-bootostater、mybatis-spring-boot-stater等。
spring-boot-starter-web依赖
spring-boot-starter-parent父依赖启动器主要作用是对版本统一管理,spring-boot-starter-web依赖启动器主要作用时提供Web场景所需的顶层所有依赖文件。
引入外部依赖
使用<systemPath>
标签引入外部依赖。
例如:项目下有个lib文件夹里存放着要引入的jar包(test-jdk-1.0.jar),就可以通过如下方式引入他
<dependency>
<groupId>com.xxx.xx</groupId>
<artifactId>test-sdk</artifactId>
<version>1.0</version>
<systemPath>${basedir}/lib/test-sdk-1.0.jar</systemPath>
</dependency>
此时,在项目打包时该jar包不会被打进去,需要额外添加如下设置:
<build>
<plugins>
<plugin>
<configuration>
<!--为了将外部引入的jar包也打起来-->
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
</build>
IDEA中通过File-Project Structure-Libraries-+-Java- 选择包路径
常见的pom属性:
- ${basedir}:项目根目录
- ${project.build.sourceDirectory}:项目的主源码目录,默认为 src/main/java
- ${project.build.testSourceDirectory}:项目的测试源码目录,默认为 src/test/java
- ${project.build.directory}:项目构件输出目录,默认为 target/
- ${project.outputDirectory}:项目主代码编译输出目录,默认为 target/classes/
- ${project.testOutputDirectory}:项目测试代码编译输出目录,默认为 target/test-classes/
- ${project.groupId}:项目的 groupId
- ${project.artifactId}:项目的 artifactId
- ${project.version}:项目的 version,与 ${version}等价
- ${project.build.fianlName}:项目打包输出文件的名称。默认为 ${project.artifactId} - ${project.version}
常用的一些pom文件中的设置
1. 设置打包方式(pom、jar、war)
<!--设置打包方式为 聚合工程-->
<packaging>pom</packaging>
2. jdk版本与测试类打包时是否编译
<properties>
<!--jdk版本-->
<java.version>1.8</java.version>
<!--打包时测试类不进行编译检测-->
<skipTests>true</skipTests>
</properties>