Maven
理解 Maven 的作用与核心功能
掌握 Maven 的依赖管理
学会 pom.xml 的基本配置
核心讲解
(1)Maven 是什么
项目管理工具,核心两大功能:依赖管理、项目构建。
自动下载 jar 包,不用手动找 jar
统一项目结构,标准目录
一键构建、编译、测试、打包
依赖传递,自动下载依赖的依赖
(2)项目结构
标准 Maven 项目结构:
项目名
├── src
│ ├── main
│ │ ├── java # 源码
│ │ └── resources # 配置文件
│ └── test
│ └── java # 测试代码
└── pom.xml # 核心配置文件
(3)pom.xml 核心配置
项目坐标:groupId、artifactId、version,唯一标识一个项目
依赖 dependencies:里面写 dependency,每个依赖三个坐标
依赖范围 scope:compile(默认)、test、provided、runtime
(4)仓库
本地仓库:本地电脑存 jar 的目录
中央仓库:官方的公共仓库
镜像仓库:国内加速,阿里云镜像
私服:企业内部的仓库
代码示例
<!-- pom.xml 核心配置 -->
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- 项目坐标 -->
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 依赖配置 -->
<dependencies>
<!-- 单元测试依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
<!-- 工具类 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
</dependencies>
<!-- 构建配置 -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>8</source>
<target>8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
常用命令
mvn clean # 清理
mvn compile # 编译
mvn test # 执行测试
mvn package # 打包
mvn install # 安装到本地仓库
mvn clean package # 清理+打包
常见误区
依赖写不对坐标:groupId、artifactId、version 三个都要对,少一个都不行
版本冲突:不同依赖传递的同一个包版本不一样,会出现冲突
依赖不写 scope:测试依赖要写 test 范围,不要打到生产包里
依赖都手动找:去 Maven 中央仓库网站搜,复制坐标就行
课后练习
安装配置 Maven,配置阿里云镜像
创建一个 Maven 项目,引入 commons-lang3 依赖
编写代码,使用 StringUtils 工具类
执行 mvn package 命令,打成 jar 包

