1. Maven 的概念1.1. 什么是 MavenMaven是一个基于项目对象模型POM的 Apache 开源项目管理工具。它不仅仅是一个构建工具更是一个项目管理框架。核心机制通过一个pom.xml文件管理项目的整个生命周期编译、测试、打包、部署。约定优于配置Maven 规定了标准的项目目录结构开发者只需遵循约定无需繁琐的配置即可构建项目。标准目录结构代码示例text my-maven-project/ ├── src/ │ ├── main/ │ │ ├── java/ # 项目源码 (Java 文件) │ │ └── resources/ # 资源文件 (配置文件、静态资源) │ └── test/ │ ├── java/ # 单元测试源码 │ └── resources/ # 测试资源 ├── target/ # 编译输出目录 (自动生成无需手动维护) └── pom.xml # Maven 的核心配置文件1.2. 什么是依赖管理依赖管理是 Maven 最核心的功能之一它解决了项目中JAR 包“从哪里来”、“去哪里找”、“版本冲突怎么办”的问题。坐标GAVMaven 使用groupId组织ID、artifactId项目ID、version版本号唯一定位一个 JAR 包。传递性依赖如果你引用了 A而 A 又依赖了 BMaven 会自动下载 B无需手动导入。依赖配置代码示例 (pom.xml)xml dependencies !-- 引入 Spring Web 框架 -- dependency groupIdorg.springframework/groupId artifactIdspring-web/artifactId version5.3.20/version /dependency !-- 引入单元测试 JUnitscope 表示作用域仅在测试时生效 -- dependency groupIdjunit/groupId artifactIdjunit/artifactId version4.13.2/version scopetest/scope /dependency /dependencies1.3. 什么是项目构建构建Build是指将源代码编译、测试、打包成可部署制品如.jar、.war的过程。Maven 通过生命周期Lifecycle来管理构建流程开发者只需执行一条命令Maven 就会按顺序执行所有步骤。Maven 三大内置生命周期图例核心命令mvn clean install表示先清理 target再执行编译 - 测试 - 打包 - 安装到本地仓库。1.4. Maven 的应用场景项目管理统一管理所有模块的版本号聚合/继承。自动化构建在 CI/CD如 Jenkins中一条mvn clean package即可完成编译打包。依赖调解解决企业级微服务项目中繁杂的 JAR 包版本冲突问题。代码生成通过 Archetype原型快速生成项目骨架。1.5. 为什么使用 Maven传统手动管理痛点Maven 解决方案手动下载 JAR复制到WEB-INF/lib通过pom.xml坐标自动从中央仓库下载不同项目 JAR 版本混乱冲突难查集中管理依赖版本提供依赖树分析编译、打包需要手动执行 javac/jar 命令标准化的生命周期一句mvn package完成项目结构百花齐放接手成本高统一目录结构降低新成员上手成本1.6. Maven 模型Maven 的设计由四个层次组成其核心模型图如下简而言之POM 定义“做什么”生命周期定义“什么时候做”插件负责“具体怎么做”仓库负责“材料从哪里来”。2. 初识 Maven2.1. Maven 安装2.1.1. 安装准备系统要求Windows / macOS / Linux。前置条件JDK 已安装Maven 3.5 需要 JDK 8 及以上。检查 JDK在命令行输入java -version确保返回正常版本号。下载地址Apache Maven 官网apache-maven-3.x.x-bin.zip。2.1.2. Maven 安装目录分析解压后的文件夹以apache-maven-3.9.0为例目录结构如下重点注意conf/settings.xml是 Maven 的全局配置文件我们后续会覆盖它通常复制到~/.m2/目录下进行用户级配置。2.1.3. Maven 的环境变量配置环境变量以便在任意目录下调用mvn命令。Windows 配置新建系统变量MAVEN_HOME值为 Maven 解压根目录。编辑Path变量添加%MAVEN_HOME%\bin。macOS / Linux 配置编辑~/.bash_profile或~/.zshrcshell export MAVEN_HOME/Users/xxx/Develop/apache-maven-3.9.0 export PATH$MAVEN_HOME/bin:$PATH验证打开终端输入mvn -version看到版本信息和 Java 信息即配置成功。2.2. Maven 仓库配置2.2.1. Maven 仓库概念Maven 仓库用于存储 JAR 包和插件其查找优先级流程如下本地仓库默认在~/.m2/repositoryC盘用户目录。中央仓库全球公共仓库由 Apache 维护。远程仓库镜像为了加速国内通常配置为阿里云镜像。2.2.2. Maven 本地仓库配置由于默认本地仓库在 C 盘建议更改为其他盘符。操作步骤在 Maven 解压根目录或用户目录~/.m2/下找到settings.xml如果 ~/.m2 下没有复制一份 conf 下的过来。修改localRepository标签xml !-- settings.xml 配置文件 -- settings xmlnshttp://maven.apache.org/SETTINGS/1.0.0 !-- 配置本地仓库路径 (自定义) -- localRepositoryD:/Develop/maven-repository/localRepository !-- 配置阿里云镜像 (加速依赖下载) -- mirrors mirror idaliyunmaven/id nameAliyun Maven/name mirrorOfcentral/mirrorOf urlhttps://maven.aliyun.com/repository/public/url /mirror /mirrors /settings2.3. IDEA 整合 Maven 项目2.3.1. IDEA 的 Maven 全局配置目的让 IDEA 默认使用我们自己的 Maven 目录和仓库而不是捆绑的 Maven。路径File-Settings(Windows) /Preferences(Mac) -Build, Execution, Deployment-Build Tools-Maven。关键配置图例配置项推荐值说明Maven home pathD:/Develop/apache-maven-3.9.0指向自己的 Maven 解压目录User settings file~/.m2/settings.xml勾选 Override指向我们配置过的 settingsLocal repositoryD:/Develop/maven-repository勾选 Override自动读取 settings 中的配置2.3.2. IDEA 创建 Maven 的 Java Web 项目操作流程New Project- 选择Maven。勾选Create from archetype原型骨架。选择maven-archetype-webapp用于 Java Web 项目。输入 GAV 坐标如groupId: com.example,artifactId: my-web-app。点击 Finish 等待生成。生成后的项目结构补充Java Webtext my-web-app/ ├── pom.xml ├── src/ │ └── main/ │ ├── java/ # 手动创建放 Servlet/Controller │ ├── resources/ # 放 properties 配置文件 │ └── webapp/ # Web 根目录 │ ├── WEB-INF/ │ │ └── web.xml # 配置 Servlet 映射 │ └── index.jsp # 首页关键插件配置在 pom.xml 中添加用于指定 JDK 版本和打包方式xml properties project.build.sourceEncodingUTF-8/project.build.sourceEncoding maven.compiler.source1.8/maven.compiler.source maven.compiler.target1.8/maven.compiler.target /properties packagingwar/packaging !-- 打包成 war 包 -- build finalNamemy-web-app/finalName /build2.3.3. IDEA 导入既有 Maven 项目三种导入方式直接打开File-Open选择项目的根文件夹包含pom.xml。作为模块导入File-New-Module from Existing Sources- 选择pom.xml。侧边栏 Maven 刷新如果项目已导入但未识别点击右侧边栏Maven选项卡点击Reload All Projects刷新按钮。注意导入后 IDEA 会自动解析依赖右下角会出现进度条。如果依赖报红检查网络镜像配置或手动mvn clean install强制下载。2.4. Maven 项目视图在 IDEA 右侧打开Maven 窗口它是管理项目的核心面板结构图解如下生命周期Lifecycle双击clean、compile、package即可执行对应构建阶段无需敲命令。依赖Dependencies展示所有引入的 JAR 包如果有红线下划线说明版本冲突。右键Show Dependencies可查看冲突链路图方便排除。插件Plugins展示绑定的构建插件如编译器插件、打包插件。总结以上内容完整覆盖了您提出的 Maven 框架大纲。从 Maven 的核心理念POM、依赖、生命周期到实战中的下载安装、环境变量、仓库镜像配置再到 IDEA 的深度集成创建 Web 项目、导入项目、使用 Maven 面板每一个环节都附带了逻辑图、配置代码或目录结构示例。掌握这些足以应对日常开发中的绝大多数 Maven 场景。如果您需要深入了解其中某一点如依赖冲突的排除或私有仓库搭建随时可以继续提问。