Apache Maven 的常用命令行参数

Apache Maven 是一个常用的 Java 构建工具。在日常的开发中通常不会关注 Maven 命令的参数。但在持续集成时,有些命令行参数很重要。下面对 Maven 3.6.3 的常用命令行参数进行介绍。

-B--batch-mode

该参数可以启用 Maven 的批处理模式。在批处理模式中,Maven 不会显示下载相关的信息,也不会为输出的信息添加颜色。

在批处理模式下,Maven 的执行性能会有所提升。在持续集成时,推荐使用 -B 选项。

-D

该参数用来定义系统属性,最常见的用法是通过 -DskipTests 来跳过测试。

-e--errors

输出错误的详细信息。

-fae--fail-at-end

在构建过程中,当某个模块出现错误时,其他不受影响的模块的构建可以进行。错误会在构建完成之后才出现。

-ff--fail-fast

在构建过程中,第一个出现的错误会导致整个构建过程终止。

-fn--fail-never

构建过程永远不会失败。

-ntp--no-transfer-progress

在构建过程中,不显示下载和上传的进度。这个参数在 Maven 3.6.1 才添加。

-P--activate-profiles

启用概要配置,比如 -Pnative 可以启用名为 native 的概要配置。

-q--quiet

启用静默模式,只显示错误。

-T--threads

指定线程的数量,C表示 CPU 的核数,比如 2C 表示 CPU 核的数量的两倍。

-U--update-snapshots

强制更新快照依赖。如果当前项目依赖了 Maven 仓库中的快照类型的依赖,该参数会强制要求更新到这些依赖的最新版本。

比如,项目 A 依赖的项目 B 的版本为 1.0-SNAPSHOT。在构建项目 A 时,-U 参数会强制更新项目 B 的版本。

启用 -U 会极大的降低 Maven 构建的速度,因为每次都需要对远程仓库进行检查,并下载最新的版本。如果一个项目的不同组件有各自的代码仓库和 Maven 项目,那么为了保证引用到最新版本的依赖,使用 -U 是必不可少的。如果把相互依赖的项目整合到同一个代码仓库中的单一 Maven 项目中,可以避免不必要的 Maven 项目的发布和获取,确保整个构建过程的稳定性。

-X--debug

启用调试模式,输出详细信息。

在持续集成中,推荐使用的参数是 -B -ntp。这样可以减少 Maven 不必要的输出,提升性能。

版权所有 © 2024 灵动代码