第10章 Maven

第10章 Maven

Maven 是一个流行的项目管理工具,主要用于 Java 项目的构建、依赖管理和项目信息管理。以下是 Maven 的主要用途:

  • 项目构建:帮助开发者对 Java 项目进行自动化构建,通过约定优于配置的原则自动完成编译、测试、打包等操作。
  • 依赖管理:通过中央仓库和本地仓库来管理项目的依赖库,开发者只需在配置文件中声明所需依赖,Maven 自动下载并管理这些依赖。
  • 项目信息管理:方便地管理项目元数据信息(如名称、版本号等),用于生成文档或发布到中央仓库。
  • 项目报告:提供丰富的插件机制,可以生成单元测试报告、代码覆盖率报告等多种项目报告,便于了解项目状态。
  • 项目部署:支持将构建好的项目部署到不同的环境。

Maven 的规约

Maven 遵循特定的目录结构规范,确保项目的可维护性和一致性:

  • /src/main/java/:存放 Java 源码。
  • /src/main/resource:存放 Java 配置文件和资源文件。
  • /src/test/java/:存放 Java 测试代码。
  • /src/test/resource:存放 Java 测试配置文件和资源文件。
  • /target:编译过程中生成的文件夹,包含 .class 文件、jar 包、war 包等。
  • pom.xml:项目对象模型文件,定义项目配置、依赖等信息。

Maven 的生命周期

Maven 生命周期按照构建过程分为三个部分,每个部分包含多个阶段(phase),执行顺序固定,具体如下:

清理生命周期

  • pre-clean:清理之前的操作。
  • clean:清理上一次构建生成的所有文件。

构建生命周期

  • validate:验证项目是否正确且所有必要信息都可用。
  • compile:编译项目的源代码。
  • test:测试编译后的代码。
  • package:将编译后的代码打包成 JAR、WAR 等格式。
  • install:将打包好的代码安装到本地仓库,供其他项目使用。
  • deploy:将打包好的代码部署到远程仓库,供他人使用。

站点生命周期

  • pre-site:在生成站点前执行的操作。
  • site:生成项目的站点文档。
  • post-site:在生成站点后执行的操作,例如部署站点到服务器。
  • site-deploy:将生成的站点部署到远程服务器。
相关推荐
abcnull3 小时前
用javaparser做精准测试
java·ast·静态代码分析·精准测试·javaparser
叶小鸡3 小时前
Java 篇-项目实战-苍穹外卖-笔记汇总
java·开发语言·笔记
AI人工智能+电脑小能手3 小时前
【大白话说Java面试题】【Java基础篇】第22题:HashMap 和 HashSet 有哪些区别
java·开发语言·哈希算法·散列表·hash
juniperhan3 小时前
Flink 系列第21篇:Flink SQL 函数与 UDF 全解读:类型推导、开发要点与 Module 扩展
java·大数据·数据仓库·分布式·sql·flink
ID_180079054733 小时前
Python 实现亚马逊商品详情 API 数据准确性校验(极简可用 + JSON 参考)
java·python·json
c++之路4 小时前
C++23概述
java·c++·c++23
专注API从业者4 小时前
Open Claw 京东商品监控选品实战:一键抓取、实时监控、高效选品
java·服务器·数据库
摇滚侠5 小时前
DBeaver 导入数据库 导入 SQL 文件 MySQL 备份恢复
java·数据库·mysql
keep one's resolveY5 小时前
SpringBoot实现重试机制的四种方案
java·spring boot·后端
天空属于哈夫克36 小时前
企业微信API常见的错误和解决方案
java·数据库·企业微信