📌 目录:

  1. Maven 简介
  2. Maven 安装与配置
  3. Maven 项目结构
  4. Maven 依赖管理
  5. Maven 构建生命周期
  6. Maven 插件与扩展
  7. Maven 常见问题及优化
  8. 参考资料

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️⃣ 下载 MavenApache 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 教程是否符合你的需求?😃