说明:

1、使用-选项时,和后面的参数之间可以不要空格。而使用--选项时,和后面的参数之    间必须有空格。如下面的例子:

$ mvn help:describe -Dcmd=compiler:compile

$ mvn install --define maven.test.skip=true

2、有些命令行选项是从Maven2.1才有的。

3、更多命令行选项请查看mvn -h

定义属性

-D,--define<arg> 定义系统属性

这是最常用到的定制Maven插件行为的选项。

获得帮助

-h,--help  显示帮助信息

如果你要寻找特定插件的可用目标和参数信息,请参考Maven Help 插件。

使用构建剖面(profile

要从命令行激活一个或多个构建剖面,使用下面的选项:

-P,--activate-profiles<arg> 被激活的,用逗号分隔的剖面列表

显示版本信息

要显示Maven版本信息,在命令行里,使用下面选项中的一个。

-V,--show-version 显示版本信息后继续执行Maven其他目标。

-v,--version 显示版本信息。

这两个选项输出相同的版本信息,但-v选项在打印版本信息后会中断Maven处理。如果你想让Maven版本信息出现在构建输出的开始处,你应该使用-V选项。如果你正在持续构建环境里运行Maven,并且你需要知道特定构建使用了哪个Maven版本,-V选项就可以派上用场。

离线模式运行

-o,--offline 离线模式工作

该参数可以阻止通过网络更新插件或依赖。

使用定制的POM或定制的Settings文件

如果你不喜欢pom.xml文件名、用户相关的Maven配置文件的位置或者全局配置文件的位置,你可以通过下面的选项定制这些参数。

-f, --file <file> 强制使用备用的POM文件

-s,--settings <arg> 用户配置文件的备用路径

-gs, --global-settings <file> 全局配置文件的备用路径

加密密码

下面的命令允许你使用Maven加密密码,然后存储到Maven settings文件里:

-emp,--encrypt-master-password <password> 加密主安全密码

-ep,--encrypt-password <password>  加密服务器密码

失败处理

下面的选项控制,在多模块项目构建的中间阶段,Maven如何应对构建失败。

-fae, --fail-at-end 仅影响构建结果,允许不受影响的构建继续

-ff, --fail-fast 遇到构建失败就停下来

-fn,--fail-never 无论项目结果如何,构建从不失败

-fn 和 -fae选项对于使用持续集成工具(例如Hunson)的多模块构建非常有用。 -ff 选项对于运行交互构建的开发者非常有用,因为开发者在开发周期中想得到快速的反馈。

控制Maven的日志级别

如果你想控制Maven的日志级别,你可以使用下面三个命令行选项:

-e, --errors 产生执行错误相关消息

-X, --debug 产生执行调试信息

-q, --quiet 仅仅显示错误

只有出现错误或问题,-q 选项才打印一条消息。-X 选项会打印大量的调试日志消息,这个选项主要被Maven开发者和Maven插件开发者用来诊断在开发过程中碰到的Maven代码问题。如果你想诊断依赖或路径问题,-X 选项也非常有用。如果你是Maven开发者,或者你需要诊断Maven插件的一个错误,那么-e选项就会派上用场。如果你想报告Maven或Maven插件的一个未预料到的问题,你应该传递-X 和 -e命令行选项。

用批处理方式运行Maven

要在批处理模式下运行Maven,使用下面的选项:

-B, --batch-mode 在非交互(批处理)模式下运行

如果你需要在非交互、持续集成环境下运行Manve,必须要使用批处理模式。在非交互模式下运行,当Mven需要输入时,它不会停下来接受用户的输入,而是使用合理的默认值。

下载和验证依赖

下面的命令行选项会影响Maven和远程仓库的交互以及Maven如何验证下载的构件:

-C, --strict-checksums 如果校验码不匹配的话,构建失败

-c, --lax-checksums 如果校验码不匹配的话,产生告警

-U, --update-snapshots 在远程仓管更新发布版本或快照版本时,强制更新。

如果你关注安全,你就想带 -C选项运行Maven。Maven仓库为每个存储在仓库里的构件维护一个MD5 和 SHA1 校验码。如果构件的校验码不匹配下载的构件,Maven默认被配置成告警终端用户。如果传递-C 选项,当遇到带着错误校验码的构件,会引起Maven构建失败。如果你想确保Maven检查所有快照依赖的最新版本,-U选项非常有用。

控制插件更新

下面的命令行选项告诉Maven,它将如何从远程仓库更新(或不更新)Maven插件:

-npu,--no-plugin-updates 对任何相关的注册插件,不进行最新检查。使用该选项使Maven表现出稳定行为,该稳定行为基于本地仓库当前可用的所有插件版本。

-cpu, --check-plugin-updates 对任何相关的注册插件,强制进行最新检查。强制Maven检查Maven插件的最新发布版本,即使在你的项目POM里明确规定了Maven插件版本,还是会强制更新。

-up, --update-plugins cpu的同义词.

下面的命令行选项影响Maven从远处仓库下载插件的方式:

-npr, --no-plugin-registry 对插件版本不使用~/.m2/plugin-registry.xml  里的配置。

-npr 命令行选项告诉Maven不要参考插件注册表。欲了解关于插件注册表的更多信息,去这里:http://maven.apache.org/guides/introduction/introduction-to-plugin-registry.html.

非递归构建

有时,你只想运行Maven构建,而不陷入项目子模块的构建。通过使用下面的命令行选项,你可以做到这点:

-N, --non-recursive 阻止Maven构建子模块。仅仅构建当前目录包含的项目。

运行该命令行选项使Maven只为当前目录下的项目执行生命周期中的目标或步骤。

裁剪反应堆

-am, --also-make 同时构建所列模块的依赖模块。必须和-pl同时使用。如 mvn -pl test -am ,将同时构建test的依赖模块。

-amd, --also-make-dependents 同时构建依赖于所列模块的模块。必须和-pl同时使用。如 mvn -pl test -amd ,将同时构建所有依赖test的模块。

-pl, --projects <arg> 构建指定的模块,模块间用逗号分隔。可以用来切割大型maven项目,达到急速构建的目的。

-rf, --resume-from <arg> 让反应堆从指定的模块开始构建。通俗点说就是指定从哪个模块开始构建。

详细用法请参考:http://books.sonatype.com/mvnref-book/reference/_using_advanced_reactor_options.html

转自:http://www.cnblogs.com/zz0412/p/command.html

Maven学习(四)Maven 命令行选项的更多相关文章

  1. Maven学习(四)-----Maven中央存储库

    Maven中央存储库 当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载.首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没 ...

  2. 学习笔记——Maven 命令行选项

    2014-10-09:更新裁剪反应堆具体用法 说明: 1.使用-选项时,和后面的参数之间可以不要空格.而使用--选项时,和后面的参数之    间必须有空格.如下面的例子: $ mvn help:des ...

  3. Microsoft Windows Installer 工具 Msiexec.exe 的命令行选项

    摘自:http://support.microsoft.com/kb/314881/zh-cn 概要 本文列出了 Windows Installer 工具 Msiexec.exe 的命令行选项.Msi ...

  4. make的命令行选项

    make的命令行选项 -b -m 忽略,提供其它版本make兼容性. -B --always-make 强制重建所有规则的目标,不根据规则的依赖描述决定是否重建目标文件. -C DIR --direc ...

  5. PhantomJS命令行选项

    支持命令行选项有: --help或-h列出所有可能的命令行选项.立即停止,不会运行一个脚本作为参数传递. --version或-v打印的版本PhantomJS.立即停止,不会运行一个脚本作为参数传递. ...

  6. MOOS学习笔记3——命令行

    MOOS学习笔记3--命令行 例程 /** * @code A simple example showing how to use a comms client问问怎么样 */ #include &q ...

  7. 【Python】【自动化测试】【pytest】【常用命令行选项】

    https://www.cnblogs.com/cnkemi/p/9989019.html http://www.cnblogs.com/cnkemi/p/10002788.html pytest 常 ...

  8. python 解析命令行选项

    问题: 程序如何能够解析命令行选项 解决方案 argparse 模块可被用来解析命令行选项 argparse 模块 argparse 模块是标准库中最大的模块之一,拥有大量的配置选项 dest 参数指 ...

  9. Ruby 命令行选项

    Ruby 命令行选项 Ruby 一般是从命令行运行,方式如下: $ ruby [ options ] [.] [ programfile ] [ arguments ... ] 解释器可以通过下列选项 ...

随机推荐

  1. AloneJs —— 简洁高效的JavaScript UI库

    以前做项目时用了一些第三方的JS UI库,项目比较low的时候用还行,一旦项目要求比较高,特别是交互比较复杂时,某些第三方UI库就显得无能为力,用起来也不顺手,改也不好改,所以我就自己基于jQuery ...

  2. 总结CSS3新特性(Animation篇)

    动画(Animation),是CSS3的亮点.//之一 通过animation属性指定@keyframe来完成关键帧动画; @keyframe用法: @keyframes name { 0% { to ...

  3. DevExpress v15.2.4帮助文档下载(全)

    原文地址:http://www.devexpresscn.com/Resources/Documentation-498.html DevExpress v15.2帮助文档下载列表大全来啦!包含.ne ...

  4. Linux学习心得之 LVM管理与Linux系统安装

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 LVM管理与Linux系统安装 1.前言 2.LVM 简介与术语 3.LVM 使用 4.Li ...

  5. 高级SQL语句

    改变数据 insert record 插入一行 insert into foods (name, type_id) values ('Cinnamon Bobka', 1); 如果在insert语句中 ...

  6. android https正确调用方案(防中间人劫持)

    以下内容为原创,欢迎转载,转载请注明 来自博客园:http://www.cnblogs.com/joey-hua/p/4971380.html 1.劫持https接口 很多android客户端虽然使用 ...

  7. iOS Apple Pay

    iOS 苹果支付 需要证书支持支付功能 targets 打开支付功能按钮 //ApplePay#import <PassKit/PassKit.h>                     ...

  8. [UITableView _endCellAnimationsWithContext:]

        由于项目需要,做一个UITableView来实现删除功能. 1.TableView是分组的. 2.点击删除按钮后,某行被删除.   出现:[UITableView _endCellAnimat ...

  9. android bitmap和数据流的互转

    Bitmap aa = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); InputStream input ...

  10. django 验证用户是否登陆

    第一步 指定一下登陆url. url(r'^accounts/login/$', include(xadmin.site.urls)), 由于我用的xadmin故而指向了xadmin,如果使用默认的a ...