Maven命令行参数详解

简介: Maven命令行参数详解

Maven是一个流行的Java项目构建工具,提供了丰富的命令行参数,用于配置和管理构建过程。本文将详细介绍并举例说明Maven的常用命令行参数。

指定项目构建顺序

-am, --also-make

描述:如果指定了项目列表,还会构建所需的项目。

示例:假设有一个多模块项目,其中A模块依赖于B模块和C模块。通过以下命令构建A模块时,Maven将自动构建B和C模块:

mvn -am -pl A install

-amd, --also-make-dependents

描述:如果指定了项目列表,还会构建依赖于列表中项目的其他项目。

示例:假设有一个多模块项目,其中A模块依赖于B模块和C模块,而D模块又依赖于A模块。通过以下命令构建A模块时,Maven将自动构建D模块:

mvn -amd -pl A install

构建模式和输出设置

  • -B, --batch-mode
    描述:以非交互(批处理)模式运行,禁用输出颜色。
    示例:运行下面的命令时,Maven将以非交互模式执行构建,并禁用输出颜色:
mvn -B clean install

-c, --lax-checksums

描述:如果校验和不匹配,则发出警告。

示例:通过以下命令运行构建,并在校验和不匹配时发出警告:

mvn -c clean install

--color <arg>

描述:定义输出的颜色模式。支持的值有’auto’、‘always’和’never’。

示例:通过以下命令运行构建,并在输出中使用颜色:

mvn --color always clean install

-e, --errors

描述:输出执行错误消息。

示例:通过以下命令运行构建,并在发生错误时输出错误消息:

mvn -e clean install

构建配置和文件路径

  • -D, --define <arg>
    描述:定义用户属性。
    示例:通过以下命令定义一个用户属性并运行构建:
mvn -DmyProperty=myValue clean install

-f, --file <arg>

描述:强制使用指定的POM文件(或包含pom.xml的目录)。

示例:通过以下命令指定一个替代的POM文件并运行构建:

mvn -f /path/to/custom/pom.xml clean install

-gs, --global-settings <arg>

描述:指定全局设置文件的路径。

示例:通过以下命令指定一个替代的全局设置文件并运行构建:

mvn -gs /path/to/custom/settings.xml clean install

其他常用参数

  • -N, --non-recursive
    描述:不递归处理子项目。
    示例:通过以下命令运行构建,只构建当前项目而不处理子项目:
mvn -N clean install

-P, --activate-profiles <arg>

描述:激活指定的配置文件。

示例:通过以下命令激活名为"release"和"production"的配置文件:

mvn -P release,production clean install

-s, --settings <arg>

描述:指定用户设置文件的路径。

示例:通过以下命令指定一个替代的用户设置文件并运行构建:

mvn -s /path/to/custom/settings.xml clean install- `-T, --threads <arg>`

描述:指定线程数,例如4(整数)或2C/2.5C(整数/浮点数),其中C是核心数的倍数。

示例:通过以下命令指定4个线程运行构建:

mvn -T 4 clean install


-U, --update-snapshots

描述:强制检查远程仓库是否存在缺失的发布版本和更新的快照版本。

示例:通过以下命令运行构建,并强制检查远程仓库是否有更新的快照版本:

mvn -U clean install

-v, --version

描述:显示版本信息。

示例:通过以下命令显示Maven的版本信息:

mvn -v

-X, --debug

描述:输出执行调试输出。

示例:通过以下命令运行构建,并输出调试信息:

mvn -X clean install

这些是Maven常用的命令行参数,可以根据需要选择适当的参数来配置和管理您的Maven项目的构建过程。希望这篇博客能够帮助您更好地理解和使用Maven。

注:本博客基于Maven 3.5版本编写,部分参数可能在不同的Maven版本中有所变化,请根据您使用的Maven版本进行适当的调整。

相关文章
|
JSON 搜索推荐 Java
做了个springboot接口参数解密的工具,我给它命名为万能钥匙(已上传maven中央仓库,附详细使用说明)
更新的功能具体使用示例已经更新到博文中,请在目录中找到对应位置查看
|
2月前
|
Java 应用服务中间件 测试技术
Maven学习笔记(一):Maven基础(基于命令行的学习和应用)
Maven 是一款 Java 项目构建工具,主要用于管理 jar 包及其依赖关系。 本文主要了解Maven基础知识及基础应用,旨在为之后的进一步学习奠定基础。 内容上几近全为学习《尚硅谷2022版Maven教程》整理所得。 仅供参考。
240 80
Maven学习笔记(一):Maven基础(基于命令行的学习和应用)
|
4月前
|
Java Maven 编译器
Java编译器注解运行和自动生成代码问题之@AutoService工作问题如何解决
Java编译器注解运行和自动生成代码问题之@AutoService工作问题如何解决
195 1
|
5月前
|
IDE Java Linux
在Maven中设置JVM系统参数及Java应用调试实例
在Maven中设置JVM系统参数及Java应用调试实例
308 0
|
5月前
|
缓存 Java Maven
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
IDEA如何把MAVEN项目打包成jar包并且用命令行启动
73 0
|
5月前
|
Java Maven
蓝易云 - Maven使用mvn命令时跳过test的参数
另外,还有一个参数 `-Dmaven.test.skip=true`也可以用来跳过测试,但是这个参数不仅跳过测试,还会跳过编译测试代码的阶段。所以,如果你的项目中有其他模块依赖测试代码,那么使用 `-Dmaven.test.skip=true`可能会导致构建失败。在大多数情况下,推荐使用 `-DskipTests`参数。
46 0
|
6月前
|
Java Maven
Maven【4】(继承)(命令行操作)
Maven【4】(继承)(命令行操作)
41 1
|
6月前
|
Java Maven
Maven【3】( 依赖的范围,传递性和依赖的排除)(命令行操作)
Maven【3】( 依赖的范围,传递性和依赖的排除)(命令行操作)
61 0
|
6月前
|
Java Maven
Maven【2】( Web 工程依赖 Java 工程)(命令行操作)
Maven【2】( Web 工程依赖 Java 工程)(命令行操作)
59 0
|
6月前
|
Java Maven
Maven【1】(命令行操作)
Maven【1】(命令行操作)
59 0