用于Java的强大的项目管理和构建自动化工具.
简介
Maven 的主要目标是简化项目构建过程,提供一致的项目结构和依赖管理。主要特点有:
- 项目对象模型 (POM):Maven 使用 XML 文件
pom.xml
来描述项目及其依赖关系。POM 文件包含了项目的元数据、构建配置、依赖列表等信息。 - 依赖管理:Maven 通过中央仓库自动下载和管理项目所需的依赖库。你只需要在 pom.xml 中声明依赖,Maven 会自动处理下载和版本管理。
- 构建生命周期:Maven 定义了一套标准的构建生命周期,包括清理、编译、测试、打包、部署等阶段。每个阶段都有对应的默认操作,可以通过命令行调用。
- 插件系统:Maven 使用插件来扩展功能。插件可以执行各种任务,如编译代码、运行测试、生成文档等。Maven 本身提供了许多常用的插件,也可以自定义插件。
- 项目继承和聚合:支持多模块项目结构,允许一个父项目管理多个子项目,实现依赖和配置的继承和聚合。
安装与配置
- 下载并解压 Maven 发行版,配置 JAVA_HOME 和 MAVEN_HOME 环境变量,将 MAVEN_HOME/bin 添加到 PATH 环境变量中。
- 配置加速镜像: 以阿里云为例, 需进入
$MAVEN_HOME/conf/settings.xml
中添加mirror:<settings>
<mirrors>
<mirror>
<id>aliyun-maven</id>
<mirrorOf>*</mirrorOf>
<name>aliyun-public-repo</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
</settings> - maven的本地仓库目录: 默认在
~/.m2/repository
, 也可在上面的settings.xml
中自定义.
使用
mvn help:effective-settings
: 查看当前 Maven 配置的详细信息.- mvn install:编译、测试、打包并安装项目到本地仓库。
- mvn idea:idea:生成 IntelliJ IDEA 项目文件。
- mvn eclipse:eclipse:生成 Eclipse 项目文件。
- mvn clean:清理项目的构建输出。
- mvn compile:编译项目源代码。
- mvn test:运行项目中的单元测试。
- mvn package:将编译后的代码打包成 JAR、WAR 等格式。
- mvn deploy:将打包后的 artifact 部署到远程仓库。
- mvn site:生成项目的站点文档。