列出Maven 2中所有可能的目标?

我是来自ant世界的Maven的新手。

是否可以列出你可以运行的所有可能的目标(包括所有的插件)?

我可以看到在Maven 1中曾经有一个-g标志,但在版本2中不可用。

您在命令行中指出的目标与Maven的生命周期相关联。 例如, build生命周期(您也有不同的cleansite生命周期)由以下阶段组成:

  • 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项目

让它变得非常简单:

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