SpringBoot依赖管理简单介绍

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>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小辰~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值