列出Maven 2中所有可能的目标?
我是来自ant世界的Maven的新手。
是否可以列出你可以运行的所有可能的目标(包括所有的插件)?
我可以看到在Maven 1中曾经有一个-g
标志,但在版本2中不可用。
您在命令行中指出的目标与Maven的生命周期相关联。 例如, build
生命周期(您也有不同的clean
和site
生命周期)由以下阶段组成:
-
validate
:validation项目是否正确,并提供所有必要的信息。 -
compile
:编译项目的源代码。 -
test
:使用合适的unit testing框架来testing已编译的源代码。 这些testing不应该要求打包或部署代码。 -
package
:获取已编译的代码并将其打包为可分发的格式,如JAR。 -
integration-test
:在必要的情况下处理和部署软件包到可以运行集成testing的环境中。 -
verify
:运行任何检查来validation包是否有效并且符合质量标准 -
install
:将软件包安装到本地存储库中,作为本地其他项目的依赖项。 -
deploy
:在集成或发行版环境中完成,将最终包复制到远程存储库,以便与其他开发人员和项目共享。
你可以在这里find“核心”插件列表,但是还有很多其他的插件,比如codehaus。
是否有可能列出所有可能的目标(包括所有的插件)是否可以运行?
Maven没有内置任何东西,虽然阶段列表是有限的( 插件目标列表不是因为插件列表不是)。
但是,如Maven 2.x自动完成指南 ( 使用BASH )中所述,您可以更轻松地利用bash完成的function (如果您在Windows下使用cygwin)(但在此之前,请从本指南select脚本,进一步阅读)。
要使事情顺利进行,请先按照本指南在计算机上设置bash完成。 那么,是时候为Maven2获得一个脚本了:
- 虽然你可以使用迷你指南
- 而您使用附加到MNG-3928的改进版本
- 虽然你可以使用在networking上发现的随机脚本(如果你好奇,请参阅资源)
- 我个人使用Ludovic Claude的PPA中的Bash Completion脚本 (它捆绑到Ubuntu的
maven
的打包版本中),可以从HEAD 下载 。 这只是最好的一个 。
下面,我只是为了说明结果:
$ mvn [标签] [标签] 显示所有377种可能性? (y或n) ant:ant ant:清洁 ant:帮助 antrun:帮助 antrun:运行 原型:爬 原型:创build 原型:创自项目 原型:产生 原型:帮助 组装:组装 组件:目录 组件:目录单 组装:帮助 组装:单 ...
当然,我从来没有浏览过377个可能性,我使用完成。 但是这给你一个关于“a”列表大小的想法:)
资源
- 使用BASH指导Maven 2.x自动完成
- 在CYGWIN上修复Maven 2.x BASH自动完成
- Maven bash完成
- maven2 bash完成完成
- Maven Tab自动完成在Bash中
- Maven 2的高级Bash补全脚本
如果您使用IntelliJ IDEA,则可以在Maven Projects
选项卡中浏览所有Maven目标/任务(包括插件):
让它变得非常简单:
Maven生命周期:1.清理2.默认(build)3.网站
默认生命周期的Maven阶段:1.validation2.编译3.testing4.包5.validation6.安装7.部署
注意:不要混淆或混淆maven生命周期中的maven目标。
请参阅Maven构build生命周期基础1
构build生命周期由阶段组成
这些构build生命周期中的每一个都由不同的构build阶段列表定义,其中构build阶段代表生命周期中的一个阶段。
例如,默认生命周期包含以下阶段(有关生命周期阶段的完整列表,请参阅生命周期参考):
- validation – validation项目是否正确,并提供所有必要的信息
- 编译 – 编译项目的源代码
- testing – 使用合适的unit testing框架testing编译的源代码。 这些testing不应该要求打包或部署代码
- 包 – 获取已编译的代码并将其打包为可分发的格式,如JAR。 validation – 对集成testing的结果进行任何检查,以确保满足质量标准
- 安装 – 将软件包安装到本地存储库中,作为本地其他项目的依赖项
- 部署 – 在构build环境中完成,将最终包复制到远程存储库,以便与其他开发人员和项目共享。
这些生命周期阶段(加上其他生命周期阶段在此未显示)被顺序执行以完成默认生命周期。 考虑到上面的生命周期阶段,这意味着当使用默认的生命周期时,Maven将首先validation项目,然后将尝试编译源代码,针对testing运行这些代码,打包二进制文件(例如jar),运行集成testing包,validation集成testing,将已validation的包安装到本地存储库,然后将已安装的包部署到远程存储库。
资料来源: https : //maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html