国庆节10月1日
--


Maven坐标体系、POM文件结构、依赖配置、依赖传递与排除依赖的完整说明
坐标是资源的唯一标识,通过坐标可以唯一定位资源位置,用于定义项目或引入依赖。
| 组成部分 | 含义 | 说明 |
|---|---|---|
groupId | 组织名称 | 通常为域名反写,如 com.itheima |
artifactId | 模块名称 | 如 order-service、goods-service |
version | 版本号 | SNAPSHOT(快照版)或 RELEASE(发行版) |

POM(Project Object Model)通过 pom.xml 描述当前 Maven 项目。
1<?xml version="1.0" encoding="UTF-8"?>2<project xmlns="http://maven.apache.org/POM/4.0.0"3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.05 http://maven.apache.org/xsd/maven-4.0.0.xsd">6 <!-- POM模型版本 -->7 <modelVersion>4.0.0</modelVersion>8
9 <!-- 当前项目坐标 -->10 <groupId>com.itheima</groupId>11 <artifactId>maven-project01</artifactId>12 <version>1.0-SNAPSHOT</version>13
14 <!-- 项目的JDK版本及编码 -->15 <properties>16 <maven.compiler.source>17</maven.compiler.source>17 <maven.compiler.target>17</maven.compiler.target>18 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>19 </properties>20</project>核心标签说明:
| 标签 | 说明 |
|---|---|
<project> | POM 文件根标签 |
<modelVersion> | POM 模型版本,目前为 4.0.0 |
<groupId> / <artifactId> / <version> | 项目坐标,定位项目在本地仓库中的位置 |
<maven.compiler.source> | 编译 JDK 版本 |
<maven.compiler.target> | 运行 JDK 版本 |
<project.build.sourceEncoding> | 项目字符集编码 |
在 pom.xml 中使用 <dependencies> 和 <dependency> 引入依赖:
1<dependencies>2 <dependency>3 <groupId>org.springframework</groupId>4 <artifactId>spring-context</artifactId>5 <version>6.1.4</version>6 </dependency>7</dependencies>查找依赖坐标的途径:Maven 中央仓库 https://mvnrepository.com/
在 Maven 项目中,如果 A 依赖 B,B 依赖 C,C 依赖 D,那么 A 项目中也会传递引入 C 和 D。

如果传递下来的某个依赖不需要,可以通过 <exclusions> 排除,被排除的资源无需指定版本。
1<dependency>2 <groupId>org.springframework</groupId>3 <artifactId>spring-context</artifactId>4 <version>6.1.4</version>5
6 <!-- 排除依赖 -->7 <exclusions>8 <exclusion>9 <groupId>io.micrometer</groupId>10 <artifactId>micrometer-observation</artifactId>11 </exclusion>12 </exclusions>13</dependency>
groupId 和 artifactId,无需 version。如果你喜欢,那么欢迎来到我的世界!
了解更多暂未播放



"所有的相遇都是久别重逢。"—— 未知


