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


Answers:


120

您在命令行中指示的目标已链接到Maven 的生命周期。例如,build生命周期(您也具有cleansite不同的生命周期)由以下阶段组成:

  • validate:验证项目正确,并且所有必要的信息均可用。
  • compile:编译项目的源代码。
  • test:使用合适的单元测试框架测试编译后的源代码。这些测试不应要求打包或部署代码。
  • package:获取编译后的代码并将其打包为可分发格式,例如JAR。
  • integration-test:如有必要,将程序包处理并部署到可以运行集成测试的环境中。
  • verify:运行任何检查以验证包装是否有效并符合质量标准
  • install:将软件包安装到本地存储库中,以作为本地其他项目中的依赖项。
  • deploy:在集成或发布环境中完成,将最终包复制到远程存储库,以便与其他开发人员和项目共享。

你可以找到的“核心”插件列表在这里,但也有很多其他插件,如Codehaus的那些,在这里


1
看一下《生命周期参考》。此处列出了所有生命周期部件。
萨兰德(Salandur)2010年

51

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

尽管阶段列表是有限的,但Maven并没有内置任何东西(插件目标列表不是,因为插件列表不是)。

但是,您可以使事情变得更轻松,并利用 bash完成的功能(如果您在Windows下,请使用cygwin),如《使用BASH的Maven 2.x自动完成指南》中所述(但在从本指南中选择脚本之前,请进一步阅读) )。

要使一切正常,请首先按照本指南在计算机上设置bash完成。然后,是时候获取Maven2的脚本了:

下面是我要说明的结果:

$ mvn [选项卡] [选项卡]
 显示所有377种可能性?(是或否)
蚂蚁 
蚂蚁:干净 
ant:帮助 
antrun:帮助 
antrun:运行 
原型:爬行 
原型:创建 
原型:从项目创建 
原型:生成 
原型:帮助 
组装:组装 
汇编:目录 
汇编:单目录 
汇编:帮助 
组装:单  
... 

当然,我从不浏览377种可能性,而是使用完成。但是,这使您对“ a”列表的大小有所了解:)

资源资源


2
没看过,但是新Maven Shell工具是否提供了自动完成功能,在这里可能有用吗?
罗曼·林索拉斯

2
@romain不,mvnsh不提供完成功能(至少不提供我计算机上的版本)。我在回答之前先检查了一下:)
Pascal Thivent,2010年


0

让它变得非常简单:

Maven生命周期:1.清理2.默认(构建)3.站点

默认生命周期的Maven阶段:1.验证2.编译3.测试4.软件包5.验证6.安装7.部署

注意:不要将Maven目标与Maven生命周期混淆或混淆。

请参阅Maven构建生命周期基础知识1


0

构建生命周期由阶段组成

这些构建生命周期中的每一个都由不同的构建阶段列表定义,其中,构建阶段代表生命周期中的一个阶段。

例如,默认生命周期包含以下阶段(有关生命周期阶段的完整列表,请参阅《生命周期参考》):

  • 验证-验证项目是否正确并且所有必要信息均可用
  • 编译-编译项目的源代码
  • 测试-使用合适的单元测试框架测试已编译的源代码。这些测试不应要求将代码打包或部署
  • package-打包已编译的代码,并将其打包为可分发的格式,例如JAR。验证-对集成测试的结果进行任何检查,以确保符合质量标准
  • install-将软件包安装到本地存储库中,以作为本地其他项目中的依赖项
  • 部署-在构建环境中完成,将最终软件包复制到远程存储库,以便与其他开发人员和项目共享。

这些生命周期阶段(加上此处未显示的其他生命周期阶段)将顺序执行以完成默认生命周期。给定上面的生命周期阶段,这意味着当使用默认生命周期时,Maven将首先验证项目,然后尝试编译源代码,针对测试运行源代码,打包二进制文件(例如jar),针对该源运行集成测试软件包,验证集成测试,将经过验证的软件包安装到本地存储库,然后将已安装的软件包部署到远程存储库。

资料来源:https : //maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.