Maven教程

66 阅读4分钟

Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。

Maven环境配置

Maven基于Java,所以首先要安装JDK。

检查Java安装:

操作系统任务命令
Windows打开命令控制行c:> java -version
Linux打开命令终端# java -version
Mac打开终端$ java -version

安装好Maven后,设置环境变量(添加环境变量 MAVEN_HOME)

Maven POM

POM(项目对象模型),是一个xml文件。包含项目基本信息,用于描述项目如何构建,声明项目依赖等等。

所有 POM 文件都需要 project(工程的根标签) 元素和三个必需字段:groupId,artifactId,version。

Maven构建配置文件

image.png

阶段处理描述
验证validate验证项目验证项目是否正确且所有必须信息是可用的
编译compile执行编译源代码编译在此阶段完成
测试Test测试使用适当的单元测试框架(例如JUnit)运行测试
包装package打包将编译后的代码打包成可分发的格式,例如 JAR 或 WAR
检查verify检查对集成测试的结果进行检查,以保证质量达标
安装install安装安装打包的项目到本地仓库,以供其他项目使用
部署deploy部署拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程

为了完成 default 生命周期,这些阶段(包括其他未在上面罗列的生命周期阶段)将被按顺序地执行。

Maven 有以下三个标准的生命周期:

1、Clean 生命周期:

  • clean:删除目标目录中的编译输出文件。这通常是在构建之前执行的,以确保项目从一个干净的状态开始。

2、Default 生命周期(也称为 Build 生命周期):

  • validate:验证项目的正确性,例如检查项目的版本是否正确。
  • compile:编译项目的源代码。
  • test:运行项目的单元测试。
  • package:将编译后的代码打包成可分发的格式,例如 JAR 或 WAR。
  • verify:对项目进行额外的检查以确保质量。
  • install:将项目的构建结果安装到本地 Maven 仓库中,以供其他项目使用。
  • deploy:将项目的构建结果复制到远程仓库,以供其他开发人员或团队使用。

3、Site 生命周期:

  • site:生成项目文档和站点信息。
  • deploy-site:将生成的站点信息发布到远程服务器,以便共享项目文档。

Maven仓库

Maven仓库有三种类型:本地(local)、中央(central)、远程(remote)

Maven 本地仓库默认被创建在 %USER_HOME% 目录下。要修改默认位置,在 %M2_HOME%\conf 目录中的 Maven 的 settings.xml 文件中定义另一个路径。

中央仓库:Maven Central (sonatype.com)

远程仓库:Maven在中央仓库中也找不到依赖的文件,它会停止构建过程并输出错误信息到控制台。为避免这种情况,Maven提供了远程仓库(开发人员自己定制的,包含了所需要的代码库或者其他工程中用到的 jar 文件)。

Maven依赖搜索顺序:先在本地仓库中搜索,找不到则在中央仓库中找。中央仓库中找不到,若远程仓库没被设置,将简单地停滞并抛出错误。若已设置,则在远程仓库中搜索依赖的文件。如果找到了则下载到本地仓库中以备将来引用。否则 Maven 将停止处理并抛出错误。

Maven插件

常见插件列表

插件描述
clean构建之后清理目标文件
compile编译Java源文件
surefile运行 JUnit 单元测试。创建测试报告
jar从当前工程中构建 JAR 文件
war从当前工程中构建 WAR 文件
javadoc为工程生成Javadoc

Maven 构建 Java 项目

Maven使用原型archetype插件创建项目。我们将使用 maven-archetype-quickstart 插件创建一个简单的Java应用。

Maven项目模板

Maven 使用 archetype(原型) 来创建自定义的项目结构,形成 Maven 项目模板。

Maven 使用下面的命令来快速创建 java 项目:

mvn archetype:generate

参考:Maven 教程 | 菜鸟教程 (runoob.com)