`

Maven系列3--Maven命令行选项

阅读更多

可以免费转载,转载时请注明出处  http://pengqb.iteye.com


Maven 命令行选项
说明:
1、使用-选项时,和后面的参数之间可以不要空格。而使用--选项时,和后面的参数之间必须有空格。如下面的例子:
 $ mvn help:describe -Dcmd=compiler:compile
 $ mvn install --define maven.test.skip=true
2、有些命令行选项是从Maven2.1才有的。

 

定义属性
-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只为当前目录下的项目执行生命周期中的目标或步骤。

 

参考文献:《Maven:The Complete Reference》

3
0
分享到:
评论
1 楼 smilingtodie 2014-04-27  
LZ  

相关推荐

    maven-rpm-bridge:mrb

    此外,MrB不需要入口点具有“主要”方法以及随之而来的标准/惯例命令行选项解析逻辑。 如果目标类没有静态main方法,则命令行标志将自动映射到静态方法和实例方法(适当时带有可选参数),并且命令行参数作为构造...

    mono-maven-plugin:待定

    dll 类型的依赖项会自动包含在内,并且可以配置其他命令行选项。用法该插件扩展了默认生命周期并提供了一个创建 dll 的包阶段。 在您的&lt;build&gt;&lt;plugins&gt;部分中添加: &lt;plugin&gt; &lt;groupId&gt;com.threerings.maven&lt;/...

    Maven权威指南 很精典的学习教程,比ANT更好用

    Maven权威指南 Authors Tim O'Brien (Sonatype, Inc.) , John Casey (Sonatype, Inc.) , Brian Fox (Sonatype, Inc.) , Bruce Snyder () , Jason Van Zyl (Sonatype, Inc.) , Juven Xu () Abstract Maven权威指南...

    repo-graph-maven:在 Neo4J 图形数据库中存储本地 Maven 存储库结构

    repo-graph-maven 一个命令行实用程序,可以在 Neo4J 图形数据库中存储本地 Maven 存储库结构。 用法:repo-graph-maven.xxxx.jar [OPTION]... 选项:-(强制参数)本地 Maven 存储库的路径。 -(必需参数)Neo4j ...

    script-maven-plugin

    脚本的命令行参数。 系统属性: scriptmvn.arguments 脚本 内联脚本。 脚本文件 要执行的脚本文件名。 如果它以jar: 、 http:// 、 https://或file: ,则将其视为 URL。 请参阅 URL 和 JarURLConnection 的 ...

    dotnet-maven-plugin:一个Maven插件,用于基于project.json构建dotnet项目。

    驱动dotnet和nuget命令行工具的调用,以构建,测试和部署.NET核心项目。 通过dotnet test在具有已定义测试运行程序的项目上运行单元测试。 提供了一个mvn clean选项,这可能是dotnet CLI工具当前所缺少的。 将...

    connect-1.2-all-in-one

    i)工具-&gt;选项-&gt;其他-&gt;Maven-&gt;外部&Maven主页-&gt;浏览 把 Maven 的路径加上 ii)用 SVN 把项目迁出 http://open-qq.googlecode.com/svn/trunk/demo ii)运行项目。右键项目,定制-&gt; jetty:run Eclipse配置 i)...

    JewelCli:Java命令行选项处理库-开源

    Java命令行选项处理库。 使用反射功能通过带注释的java界面自动创建命令行选项处理器,从而允许对参数进行声明式指定,并且可以干净地访问提供的值。 从0.7版本开始,可从https://github.com/lexicalscope/jewelcli...

    library:柠檬酒吧的图书馆

    第一步:使用maven命令行创建web项目。 mvn archetype:create -DgroupId=com.lemon.bar -DartifactId=library -DarchetypeArtifactId=maven-archetype-webapp 注释:使用 :set number 在 vi​​m 中显示行号。 ...

    tomcat8-war-runner:使用具有增强的server.xml支持的Tomcat 7 Maven插件构建的exec-wars的Tomcat 8兼容运行程序

    运行程序还为命令行配置添加了更多选项。 用法 该运行器已发布到Maven Central,因此只需将其添加为tomcat7-maven-plugin的额外依赖项即可。 将您的tomcat7-maven-plugin配置为在您的Web项目pom.xml使用此运行器:...

    Java-TDD-Mnemonics:使用Maven构建的键盘电话号码到字母的转换

    我选择1800挑战赛是因为它在第一次阅读这两个选项时显得更加简单。 这并不是说我不喜欢挑战,而是赞成实用... 我将项目转换为命令行Maven,并允许在IDE和MVN目标之间轻松切换,最终进行分发。 假设已安装Maven! 目标

    java8看不到源码-wirez:UberFireWirez建模工具

    java8 看不到源码尤物建模工具 一种基于 . 文档 所有 Stunner 文档都在公共 Google Docs 文件夹中共享。...使用选项“从 Maven 导入项目” 3.- 创建一个新的运行/调试配置: 类型:GWT 配置 名称: 尤物展示柜

    javafx-examples:大量的JavaFX示例示例展示了JavaFX的基本和高级功能

    使用您的IDE(IntelliJ IDEA / Eclipse / Netbeans)使用Maven-传递主类以在命令行上运行使用gradle-传递主类以在命令行上运行使用Maven-在pom.xml中配置主类其中一些内容将在下面更详细地介绍。运行IntelliJ Ide

    sar图形化分析软件 Ksar2

    Ksar2 是一个独立的 ... 使用-h选项检查命令行参数。需要java支持,如果没有安装java请先安装。 要编译,您需要安装 Maven,在源目录 run 中mvn install。IDE 项目配置包含在 NetBeans 中。您需要使用 JDK &gt;=6 和 。

    Digital-Bank:顶石项目

    数字银行 Digital Bank是一个示例应用程序,出于探索性目的而开发,用于检查开发框架和技术。... 使用'-Dcucumber.options =“-tags {tag}”“ maven命令行选项可基于定义的Feature或Scenario标签过滤

    midscribe:抄写员

    命令行选项 Usage: java [-Dlogback.configurationFile=logback.xml] -jar midscribe.jar [options] [command] [command options] Options: -h, --help Print this help -s, --silent No output at all Defaul

    增量模块生成器:增量模块生成器

    可以通过在命令行上使用--projects选项来控制。 这里的问题是,您需要识别那些手动更改的模块,这些模块可能会变得很麻烦。 此扩展程序将自动处理此问题。 状态 目前处于PoC状态。 代码需要改进。 需要编写更多...

    digitalbank-first-gen:网上银行申请示例

    数字银行 Digital Bank是一个示例应用程序,出于探索性目的而开发,用于检查开发框架和技术。... 使用'-Dcucumber.options =“-tags {tag}”“ maven命令行选项可基于定义的Feature或Scenario标签过滤

    java版ss源码-spark-salesforce:Salesforce的Spark数据源

    java版s源码Spark Salesforce 库 用于将 ...可以使用--packages命令行选项将此包添加到 Spark。 例如,在启动 spark shell 时包含它: $ bin/spark-shell --packages com.springml:spark-salesforce_2.11

Global site tag (gtag.js) - Google Analytics