问题

我是Maven的新手,来自Ant世界。

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

我可以看到Maven 1中曾经有过a-gflag,但这在版本2中不可用。


#1 热门回答(112 赞)

你在命令行中指定的目标链接到Maven的lifecycle。例如,buildlifecycle(你还拥有不同的cleansite生命周期)由以下阶段组成:

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

你可以找到"核心"插件here的列表,但是还有很多其他的插件,比如代码插件,here


#2 热门回答(45 赞)

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

尽管阶段的列表是有限的,但Maven没有内置任何内容(自插件列表以来没有列出插件目标)。

但是你可以更轻松地利用bash completion的功能(如果你在Windows下使用cygwin),如469541530所述(但在从本指南中选择脚本之前,请进一步阅读)。

为了使工作正常,首先请按照this guide在你的计算机上设置bash完成。然后,是时候获取Maven2的脚本了:

  • 虽然你可以使用迷你指南中的那个
  • 使用MNG-3928附带的改进版本
  • 虽然你可以使用网上找到的随机脚本(如果你很好奇,请参阅资源)
  • 我个人使用Ludovic Claude的PPA(在Ubuntu中捆绑到maven的打包版本)中的Bash Completion脚本,你可以从HEAD下载。这只是最好的一个。

下面,我只是为了说明结果:

$ mvn [tab][tab]
Display all 377 possibilities? (y or n)
ant:ant 
ant:clean 
ant:help 
antrun:help 
antrun:run 
archetype:crawl 
archetype:create 
archetype:create-from-project 
archetype:generate 
archetype:help 
assembly:assembly 
assembly:directory 
assembly:directory-single 
assembly:help 
assembly:single  
...

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

###资源

  • 使用BASH指导Maven 2.x自动完成
  • 在CYGWIN上修复Maven 2.x BASH自动完成
  • Maven bash完成
  • maven2 bash完成完成
  • 在Bash中Maven Tab自动完成
  • Maven 2的高级Bash完成脚本

#3 热门回答(5 赞)

如果你使用IntelliJ IDEA,你可以浏览Maven Projectstab中的所有maven目标/任务(包括插件):

Maven Projects


原文链接