📌 目录:
1. Maven 简介
Apache Maven 是一个基于 POM(Project Object Model) 的 Java 项目管理和构建工具,它可以:
✅ 管理项目依赖(自动下载 JAR 包)
✅ 自动化构建(编译、测试、打包、部署)
✅ 提供标准化项目结构
✅ 支持插件扩展,集成 CI/CD
📌 示例:
创建一个 Maven 项目后,所有依赖和插件都在 pom.xml
文件中管理:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>
2. Maven 安装与配置
🔹 2.1 下载与安装
1️⃣ 下载 Maven:Apache Maven 官网
2️⃣ 解压安装(例如:C:\apache-maven-3.9.1
)
3️⃣ 配置环境变量(Windows 示例):
MAVEN_HOME=C:\apache-maven-3.9.1
PATH=%MAVEN_HOME%\bin
4️⃣ 测试是否安装成功:
mvn -v
输出示例:
Apache Maven 3.9.1 (xxxxxx)
Java version: 17.0.1, vendor: Oracle Corporation
🔹 2.2 配置 Maven 仓库
修改 settings.xml
(位于 $MAVEN_HOME/conf/settings.xml
或 ~/.m2/settings.xml
):
<localRepository>C:\Users\YourName\.m2\repository</localRepository>
这样,Maven 下载的 JAR 包都会存放在 C:\Users\YourName\.m2\repository
。
3. Maven 项目结构
📌 标准 Maven 项目目录结构:
my-maven-project
│── src
│ ├── main
│ │ ├── java # Java 源代码
│ │ ├── resources # 配置文件
│ ├── test
│ │ ├── java # 测试代码
│ │ ├── resources # 测试配置文件
│── pom.xml # Maven 配置文件
│── target # 生成的文件(编译后)
🔹 3.1 创建 Maven 项目
运行:
mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
生成的 pom.xml
文件示例:
<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>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
4. Maven 依赖管理
Maven 通过 pom.xml
来管理依赖项,官方仓库:Maven Repository。
📌 示例:引入 Spring Boot:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>
运行 mvn clean install
后,Maven 会自动下载 spring-boot-starter-web
及其依赖包。
5. Maven 构建生命周期
Maven 提供三大构建生命周期:
1️⃣ clean:清理项目 mvn clean
2️⃣ default:核心构建过程(编译、测试、打包)
3️⃣ site:生成项目文档
📌 常用 Maven 命令:
mvn compile # 编译代码
mvn test # 运行测试
mvn package # 生成 JAR/ WAR 包
mvn install # 安装到本地仓库
mvn deploy # 部署到远程仓库
6. Maven 插件与扩展
📌 示例:使用 Maven Assembly Plugin 生成 JAR 包:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.4.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
运行:
mvn clean package
生成 target/my-app-1.0-SNAPSHOT-jar-with-dependencies.jar
。
7. Maven 常见问题及优化
🔹 7.1 解决构建失败
错误:依赖下载失败
解决方案:
mvn dependency:purge-local-repository
mvn clean install
🔹 7.2 提高构建速度
1️⃣ 启用并行构建:
mvn -T 4 clean install # 4 线程
2️⃣ 本地仓库加速(如使用阿里云镜像):
<mirrors>
<mirror>
<id>aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Aliyun Maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
8. 参考资料
🔗 出站链接
🔗 站内链接
你觉得这个 Maven 教程是否符合你的需求?😃
发表回复