Maven 使用

Undefined443 / 2024-06-06 / 原文

Maven 是一个基于 Project Object Model(POM)的项目管理和构建工具,主要用于 Java 项目。

Runoob 教程

廖雪峰的官方网站

C语言中文网

Maven 通过 lifecycle(生命周期)、phase(阶段)和 goal 来提供标准的构建流程。

最常用的构建命令是指定 phase,然后让 Maven 执行到指定的 phase

mvn clean  # 清理 Maven 的输出目录
mvn clean compile  # 编译代码到输出目录
mvn clean test  # 执行测试用例
mvn clean package  # 创建项目 jar/war 包,最常用的命令

通常情况,我们总是执行 phase 默认绑定的 goal,因此不必指定 goal

实际上,执行每个 phase,都是通过某个插件(plugin)来执行的。比如说,Maven 本身其实并不知道如何执行 compile,它只是负责找到对应的 compiler 插件,然后执行默认的 compiler:compile 这个 goal 来完成编译。所以,使用 Maven,实际上就是配置好需要使用的插件,然后通过 phase 调用它们。

参考:Maven 插件绑定

创建 Java 项目:

mvn archetype:generate
# 或者在命令中直接提供项目参数
mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

参考:Maven 使用 Archetype(原型)插件构建 Java 项目