Maven命令行选项
以下各节详细介绍了Maven的命令行选项。
1。定义属性
要定义属性,请在命令行上使用以下选项:
-D,--define <arg>
定义系统属性
这是最常用于自定义Maven插件行为的选项。使用-D
命令行参数的一些示例:
<span style="color:#666666"><span style="color:#333333">$ mvn help:描述-Dcmd = compiler:编译
$ mvn install -Dmaven.test.skip = true</span></span>
命令行上定义的属性也可用作在Maven POM或Maven插件中使用的属性。形成有关引用Maven属性的更多信息,请参见 第9章,属性和资源过滤。
属性也可以用于激活构建配置文件。有关Maven构建配置文件的更多信息,请参见第5章,构建配置文件。
2。获得帮助
要列出可用的命令行参数,请使用以下命令行选项:
-h,--help
显示帮助信息
使用此选项执行Maven会产生以下输出:
<span style="color:#666666"><span style="color:#333333">$ mvn-帮助
用法:mvn [选项] [<目标>] [<阶段>]
选项:
-am,-also-make如果指定了项目列表,也
建立所需的项目
清单
-amd,-also-make-dependents如果指定了项目列表,也
建立依赖的项目
名单上的项目
-B,-batch-mode以非交互方式运行(批处理)
模式
...</span></span>
如果要查找有关特定Maven插件可用的目标和参数的信息,请参见 第6.3节“使用Maven帮助插件”。
3。使用构建配置文件
要从命令行激活一个或多个构建配置文件,请使用以下选项:
-P,--activate-profiles <arg>
以逗号分隔的配置文件列表以激活
有关构建配置文件的更多信息,请参见第5章,构建配置文件。
4。显示版本信息
要显示Maven版本信息,请在命令行上使用以下选项之一:
-V,--show-version
在不停止构建的情况下显示版本信息
-v,--version
显示版本信息
这两个选项都产生相同的版本信息输出,但是-v选项将在打印出版本后终止Maven进程。如果要在构建输出的开头显示Maven版本信息,则可以使用-V选项。如果您在连续构建环境中运行Maven,并且需要知道特定构建使用了哪个版本的Maven,这可能会派上用场。
Maven版本信息。
<span style="color:#666666"><span style="color:#333333">$ mvn -v
Apache Maven 2.2.1(r801777; 2009-08-06 14:16:01-0500)
Java版本:1.6.0_15
Java主页:/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
默认语言环境:en_US,平台编码:MacRoman
操作系统名称:“ mac os x”版本:“ 10.6.1”拱门:“ x86_64”家族:“ mac”</span></span>
5。在离线模式下运行
如果您需要在不访问网络的情况下使用Maven,则应使用以下选项来防止尝试检查网络上插件或依赖项的更新:
-o,--offline
离线办公
在启用了脱机选项的情况下运行时,Maven不会尝试连接到远程存储库以检索工件。
6。使用自定义POM或自定义设置文件
如果您不喜欢pom.xml文件名,用户特定的Maven设置的位置或全局设置文件的默认位置,则可以使用以下选项来自定义其中的任何一项:
-f,--file <文件>
强制使用备用POM文件
-s,-设置<arg>
用户设置文件的备用路径
-gs,--global-settings <文件>
全局设置文件的备用路径
7。加密密码
以下命令允许您使用Maven加密密码以存储在Maven设置文件中:
-emp,--encrypt-master-password <密码>
加密主安全密码
-ep,-encrypt-password <密码>
加密服务器密码
对密码进行加密中记录的 第15.2.11,“加密密码在Maven的设置”。
8。处理失败
以下选项控制Maven在多模块项目构建过程中如何应对构建失败:
-fae,--fail-at-end
之后才失败构建;允许所有未受影响的构建继续
-ff,--fail-fast
在反应堆中首次失败时停止
-fn,--fail-never
无论项目结果如何,都绝不会使构建失败
在-fn
和-fae
选项是多模块有用的选项生产能够持续集成工具,如哈德森内运行。-ff
对于运行交互式构建并希望在开发周期中获得快速反馈的开发人员,该选项非常有用。
9。控制Maven的细节
如果要控制Maven的日志记录级别,可以使用以下三个命令行选项之一:
-e,-错误
产生执行错误消息
-X,-调试
产生执行调试输出
-q,-安静
安静的输出-仅显示错误
该-q
选项仅在出现错误或问题时才将消息打印到输出。
该-X
选项将在输出中显示大量的调试日志消息。此选项主要由Maven开发人员和Maven插件开发人员用来在开发过程中诊断Maven代码问题。-X
如果您尝试诊断依赖项或类路径的难题,此选项也非常有用。
-e
如果您是Maven开发人员,或者需要诊断Maven插件中的错误,则该选项将非常有用。如果您报告Maven或Maven插件出现意外问题,则需要将-X
和-e
选项都传递给Maven进程。
10。以批处理模式运行Maven
要以批处理方式运行Maven,请使用以下选项:
-B,-批处理模式
以非交互(批处理)模式运行
如果您需要在非交互式连续集成环境中运行Maven,则批处理模式至关重要。在非交互模式下运行时,Maven将永远不会停止接受来自用户的输入。而是在需要输入时使用合理的默认值。
11。下载和验证依赖项
以下命令行选项影响Maven与远程存储库交互的方式以及它如何验证下载的工件:
-C,--strict-checksums
如果校验和不匹配,则构建失败
-c,-lax校验和
警告校验和不匹配
-U,--update-snapshots
强制检查远程存储库上的更新版本和快照
如果您担心安全性,则需要使用该-C
选项运行Maven 。Maven存储库为存储在存储库中的每个工件维护MD5和SHA1校验和。Maven配置为在工件的校验和与下载的工件不匹配时向最终用户发出警告。-C
如果遇到带有校验和错误的工件,则传递该选项将导致Maven失败。
-U
如果您要确保Maven正在检查所有SNAPSHOT依赖项的最新版本,则此选项很有用。
12。非递归构建
有时候,您只是想运行Maven构建而不会让Maven进入项目的所有子模块中。您可以使用以下命令行选项执行此操作:
-N,-非递归
阻止Maven构建子模块。仅生成当前目录中包含的项目。
运行此命令只会使Maven对当前目录中的项目执行目标或逐步执行生命周期。当您使用-N
命令行选项时,Maven不会尝试在多模块项目中构建所有项目。