Bootstrap

Maven

依赖管理

依赖配置

<dependency>
  <groupId>ch.qos.logback</groupId>          <!--  组织ID  -->
  <artifactId>logback-parent</artifactId>    <!--  模块名  -->
  <version>1.2.3</version>                   <!--  版本号  -->
</dependency>

依赖传递

Maven 中 A 依赖 B 时,会自动引入 B 所需要的依赖
在这里插入图片描述
排除依赖 : 排除依赖指主动断开依赖的资源,被排除的资源 无需指定版本

<dependency>
  <groupId>com.itheimas</groupId>
  <artifactId>untitled1</artifactId>
  <version>1.0-SNAPSHOT</version>
    <!--  排除依赖 排除掉untitled1中的 jjwt -->
    <exclusions>
       <exclusion>
          <groupId>com.10duke.client.jwt</groupId>
          <artifactId>jjwt</artifactId>
       </exclusion>
    </exclusions>
</dependency>

依赖范围

scope 值主程序测试程序打包(运行)范例
compileYYYlog4j
test-Y-junit
providedYY-servlet-api
runtime-YYjdbc驱动

继承与聚合

继承

在这里插入图片描述

  • 在子工程中,配置了继承关系之后,坐标中的 groupId 是可以省略的,因为会自动继承父工程。
  • relativePath 指定父工程的 pom 文件的相对位置,不指定会从 本地 / 远程仓库查找该工程
  • 若父子都配置了同一个依赖的不同版本,以 子工程 的为准。

版本锁定

版本统一

当多个模块使用同一个依赖,需要统一的版本号,版本锁定使得便于版本升级。

使用方法:
在父工程的 pom文件中通过 统一管理

版本号集中管理

使用 统一管理版本号子工程中的版本号

<properties>
   <jjwt.version>0.9.1</jjwt.version>
</properties>
  
  <dependency>
     <groupId>io.jsonwebtoken</groupId>
     <artifactId>jjwt</artifactId>
     <version>${jjwt.version}</version>
  </dependency>

聚合

  • 聚合: 将多个模块组成一个模块,同时进行项目构建
  • 聚合工程: 一个不具有业务功能的 " 空 " 工程
  • 作用: 快速构建项目 ( 无需根据依赖手动构建 )

当设置为 pom 时,这意味着该项目是一个聚合项目(aggregator project)或者是一个父项目(parent project),它本身不会被打包成一个 JAR、WAR 或其他类型的归档文件。

  ...
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <modules>
     <module>../tlias-pojo</module>
     <module>../tlias-utils</module>
     <module>../tlias-web-management</module>
  </modules>

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;