一、Maven 是什么?
Maven 翻译为"专家"或"内行",是一款跨平台的项目管理工具,主要服务于 Java 平台,功能涵盖:
-
项目构建:编译、测试、打包、部署等自动化流程。
-
依赖管理:自动下载和管理第三方库。
-
项目信息管理:管理项目描述、开发者信息等。
理想的构建流程:
-
高度自动化
-
跨平台
-
标准化流程
-
可重用组件
二、为什么选择 Maven?
| 工具 | 缺点 |
|---|---|
| 手动 IDE | 操作繁琐,构建步骤独立,易出错,配置不统一 |
| Ant | 无约定目录结构,无生命周期,无依赖管理 |
| Maven | 约定优于配置,生命周期管理,依赖管理,标准化构建 |
三、Maven 的核心模型
Maven 的核心是 POM(Project Object Model) ,通过 pom.xml 文件定义项目的坐标、依赖、插件等。
四、Maven 安装与配置
1. 安装前提
-
JDK 1.8+
-
下载 Maven 3.6(建议使用稳定版本)
2. 环境变量配置
-
MAVEN_HOME:指向 Maven 解压目录 -
Path:添加%MAVEN_HOME%\bin -
MAVEN_OPTS:可选,设置 JVM 参数如-Xms128m -Xmx512m
3. 验证安装
bash
mvn -v
五、第一个 Maven 项目
目录结构约定
项目名称/
src/
main/
java/ # 存放项目的.java源文件
resources/ # 存放项目资源文件(如spring、mybatis配置文件)
test/
java/ # 存放测试.java文件(如JUnit测试类)
resources/ # 存放测试资源文件
pom.xml # Maven核心配置文件
target/ # 项目输出位置(编译后自动生成)
pom.xml 示例
xml
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.qcby.maven</groupId>
<artifactId>Hello</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.9</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
常用命令
| 命令 | 作用 |
|---|---|
mvn compile |
编译源代码 |
mvn clean |
清理 target 目录 |
mvn test |
运行测试 |
mvn package |
打包(jar/war) |
mvn install |
安装到本地仓库 |
六、Maven 仓库管理
仓库类型
-
本地仓库 :默认
~/.m2/repository,可修改 -
中央仓库:Maven 官方维护,默认远程仓库
-
私服:企业内部仓库,如 Nexus
本地仓库配置
修改 settings.xml:
xml
<localRepository>D:/maven/repo</localRepository>
七、IDEA 整合 Maven
全局配置
-
设置 Maven 安装目录
-
指定
settings.xml和本地仓库路径
创建 Java 项目
- 使用
maven-archetype-quickstart骨架
创建 Java Web 项目
-
使用
maven-archetype-webapp骨架 -
配置 Tomcat 运行环境