Java 中怎么使用 Maven 构建生命周期与核心编译打包命令

大晨吖_3009

大晨吖_3009

2026-08-21

203人浏览

原创

Maven三大生命周期为clean(清理)、default(核心构建)和site(生成文档),其中default包含validate→compile→test→package→verify→install→deploy等阶段,执行mvn package会自动运行此前所有绑定插件的阶段。

java 中怎么使用 maven 构建生命周期与核心编译打包命令

在 Java 项目中,Maven 通过生命周期(Lifecycle)统一管理构建流程,核心命令围绕 clean、compile、test、package、install、deploy 等阶段展开。理解生命周期结构和常用命令组合,是高效使用 Maven 的基础。

三大内置生命周期及其作用

Maven 定义了三个相互独立的生命周期:default(核心构建)、clean(清理)、site(生成项目文档)。日常开发主要使用前两个:

  • clean 生命周期:仅含 pre-clean、clean、post-clean 三个阶段,执行 mvn clean 会删除 target/ 目录,清空上一次构建产物。
  • default 生命周期:最常用,包含 20+ 阶段(如 validate → compile → test → package → verify → install → deploy),但不会自动执行前面的阶段——Maven 只运行目标阶段及之前所有绑定过插件的阶段。

核心编译与打包命令详解

以下命令按典型使用顺序排列,每个都对应 default 生命周期中的一个或多个阶段:

java-api-doc-generator
java-api-doc-generator

分析 Java Spring Boot 后端 Controller 代码,自动生成 Markdown 格式的接口文档。当用户说“生成 Java 接口文档”、“生成 API 文档”、“从 Spring 代码生成文档”时触发。

下载
  • mvn compile:执行到 compile 阶段,编译 src/main/java/ 下的源码,输出至 target/classes/;不运行测试,也不打包。
  • mvn test:执行到 test 阶段,先编译主代码和测试代码(src/test/java/),再运行测试用例;结果存于 target/surefire-reports/。
  • mvn package:执行到 package 阶段,完成编译、测试后,按 pom.xml 中 值(默认 jar)生成可分发包(如 xxx-1.0.0.jar),位于 target/ 目录。
  • mvn install:执行到 install 阶段,在 package 基础上,将构建产物安装到本地仓库(~/.m2/repository/),供其他本地项目依赖。
  • mvn deploy:执行到 deploy 阶段,将包发布到远程仓库(需在 pom.xml 或 settings.xml 中配置 )。

组合命令与跳过环节技巧

实际开发中常组合使用或跳过耗时环节:

  • 快速验证编译:用 mvn compile -Dmaven.test.skip=true 跳过测试编译与执行(注意:此参数不编译测试代码)。
  • 跳过测试执行(仍编译测试类):用 mvn package -DskipTests,适合已确认测试无误时加速打包。
  • 完整构建并安装:直接运行 mvn clean install,等价于先清理再执行 install 阶段(即 clean → compile → test → package → install)。
  • 指定 profile 构建:如 mvn package -Pprod,激活 ID 为 prod 的 profile,用于多环境差异化打包。

常见误区与注意事项

初学者易混淆概念,需特别注意:

  • mvn compile 不等于 javac:它调用 maven-compiler-plugin,受 和 版本控制,与 JDK 实际版本可能不一致。
  • 生命周期阶段本身不干活,真正执行的是绑定到该阶段的插件目标(如 compiler:compile 绑定在 compile 阶段)。
  • 执行 mvn package 时若测试失败,默认中断构建;可通过 -fn(fail-never)参数让 Maven 忽略测试失败继续执行(慎用)。
  • 自定义生命周期需继承或扩展,普通项目无需修改,但可通过 配置调整插件绑定阶段。

Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

maven java

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
java
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.15

11857

6

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

2023.07.05

8942

9

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

2023.07.31

7672

8

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.08.01

1264

3

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.08.02

1008

3

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.02

1516

5

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.02

3089

5

java在线网站
java在线网站

Java在线网站是指提供Java编程学习、实践和交流平台的网络服务。近年来,随着Java语言在软件开发领域的广泛应用,越来越多的人对Java编程感兴趣,并希望能够通过在线网站来学习和提高自己的Java编程技能。php中文网给大家带来了相关的视频、教程以及文章,欢迎大家前来学习阅读和下载。

2023.08.03

20351

3

配置java环境变量
配置java环境变量

配置Java环境变量是为了让操作系统能够识别和使用Java的相关命令和功能。本专题为大家提供配置java环境变量相关文章,帮助大家解决问题。

2023.08.03

1355

8

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Apache Maven 官方安装指南
Apache Maven 官方安装指南

共0课时 | 0人学习

Apache Maven 官方用户中心
Apache Maven 官方用户中心

共0课时 | 0人学习