`

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  

相关推荐

    apache-maven-3.6.2-bin.tar.gz

    1. `bin/`:包含Maven的可执行脚本,如`mvn`,用于在命令行中运行Maven。 2. `conf/`:存放Maven的配置文件,如`settings.xml`,它是Maven的全局配置,用于定义仓库位置、代理设置以及用户特定的配置。 3. `lib/`:...

    apache-maven-3.0.5-bin.zip

    - **命令行增强**:增加了新的命令行选项,提供了更灵活的构建控制。 - **性能优化**:3.0.x系列对内部算法进行了优化,使得Maven在处理大型项目时速度更快。 安装Apache Maven 3.0.5时,你需要将`bin`目录添加到...

    apache-maven-3.2.3-bin.zip

    - 引入了新的命令行选项,如`--no-transfer-progress`,用于关闭传输进度显示。 解压"apache-maven-3.2.3"后,你会看到以下目录结构: - `bin`: 包含可执行脚本,如`mvn`命令,用于在不同操作系统上运行Maven。 - ...

    apache-maven-3.6.0-bin

    解压这个zip文件后,用户可以直接在命令行环境中使用Maven,而无需编译源代码。 Eclipse 是一个广泛使用的Java集成开发环境(IDE)。为了在Eclipse中使用Maven,开发者通常会安装M2Eclipse插件,它将Maven的功能...

    apache-maven-3.8.1-bin.zip

    3. **新功能和改进**:可能包括新的命令行选项、对新Java版本的支持以及对其他构建工具的集成改进。 **解压后的文件结构:** - `bin`目录:包含可执行脚本,如`mvn`命令行工具,用于在不同操作系统上运行Maven。 - ...

    apache-maven-3.6.0-bin.zip

    - **命令行界面优化**:改进了命令行界面的用户体验,使得命令行操作更加直观友好。 - **文档生成工具**:增强了文档生成工具的功能,使得生成的文档更加清晰易读。 - **国际化支持**:提供了更多的语言支持,便于非...

    最新apache-maven-3.3.9 bin压缩包和src源码

    这个压缩包解压后,你会找到`bin`目录,其中包含`mvn`和`mvn.cmd`(Windows系统)可执行文件,它们是Maven的命令行界面。通过这些命令,你可以执行构建任务,如编译源代码、运行测试、打包应用、生成文档等。此外,`...

    apache-maven-3.5.4-bin.tar

    例如,可能提高了依赖解析的效率,增强了对大型项目的支持,或者引入了新的命令行选项以增强用户体验。尽管没有具体的版本描述,但通常每个新版本都会带来一定的改进,以适应不断变化的开发环境和需求。 总而言之,...

    Maven3.6.3安装与配置以及IDEA2022.2.3部署Maven的教程

    - **下载地址**: Maven 3.6.3 可以从 [Apache Maven 官网](https://archive.apache.org/dist/maven/maven-3/3.6.3/binaries/) 下载。 - **文件选择**: 选择下载后缀为 `-bin.zip` 的文件。 **1.3 解压 Maven** - *...

    maven3.8.1-windows-x64.rar

    为了使Maven在命令行中可直接使用,需要设置两个环境变量: - `M2_HOME`:指向Maven的安装目录,例如“C:\Program Files\apache-maven-3.8.1”。 - `PATH`:在已有的路径后面添加“%M2_HOME%\bin”,这使得系统可以...

    apache-maven-3.0.1-bin

    Maven 提供了丰富的命令行选项,如`mvn clean install`用于清理、编译和安装项目。用户还可以通过修改`settings.xml`文件来定制Maven的行为,比如指定仓库位置、镜像等。 **8. Maven Archetypes:** Maven ...

    maven-3.2.5工具下载

    3. **插件系统**:Maven的强大之处在于其插件机制,允许开发者使用各种插件来扩展Maven的功能,例如,可以使用`maven-compiler-plugin`进行Java源代码编译,`maven-surefire-plugin`进行单元测试等。 4. **依赖管理...

    apache-maven-3.6.0+安装方法

    Maven 提供了丰富的命令行选项,如`-D`用于传递系统属性,`-X`开启调试模式,`-U`强制更新所有依赖等。此外,还可以使用`settings.xml`中的用户属性来定制行为。 通过以上知识点,您可以全面理解Apache Maven ...

    jcabi-latex-maven-plugin-1.0.zip

    《jcabi-latex-maven-plugin-1.0.zip》是一个包含jcabi-latex-maven-plugin项目的...通过Maven的命令行工具,开发者可以轻松地集成此插件,实现LaTeX文档的自动化构建流程,从而专注于内容创作,而非繁琐的构建细节。

    apache-maven-3.6.3-bin软件资源

    3. **插件系统**:Maven的灵活性得益于其强大的插件系统。开发者可以通过插件扩展Maven的功能,例如生成Javadoc、执行单元测试、打包应用、部署到远程服务器等。 4. **项目信息管理**:POM文件不仅包含项目的依赖,...

    maven-eclipse-tomcat热部署

    在命令行或Eclipse中使用Maven插件执行以下命令: ```bash mvn archetype:generate -DgroupId=com.example -DartifactId=mywebapp -DarchetypeArtifactId=maven-archetype-webapp ``` 这将生成一个标准的...

    apache-maven-3.3.9

    Maven 3.3.9是该工具的一个稳定版本,提供了一系列改进和优化,使得开发者能够更高效地管理他们的Java项目。 Maven的核心概念是基于项目对象模型(Project Object Model,POM)。POM是一个XML文件,包含了项目的...

    汀雨-apache-maven-3.5.4-bin.tar.zip

    3. **验证安装**:安装完成后,打开命令行终端,输入`mvn -v`或`mvn --version`,如果Maven已正确配置,你应该能看到版本信息,确认为3.5.4。 Apache Maven 3.5.4的关键特性包括: - **依赖管理**:Maven自动处理...

    maven-2.0.9-bin.zip

    然而,需要注意的是,Maven 2.0.9已经是较老的版本,当前最新的稳定版已经更新到了3.x系列。新版本引入了更多的改进和优化,例如更快的本地库索引、更灵活的配置选项以及对Java 11及以上版本的支持。 总的来说,...

    maven v3.5.0版本

    Maven 3.5.0引入了新的命令行选项,使得用户可以更加灵活地配置和控制构建过程。例如,`--fail-fast`、`--fail-at-end`等选项提供了不同的错误处理策略。 5. **安全性增强**: 新版本加强了对POM文件的安全性检查...

Global site tag (gtag.js) - Google Analytics