问题
我是Maven的新手,来自Ant世界。
是否可以列出你可以运行的所有可能目标(包括所有插件)?
我可以看到Maven 1中曾经有过a-g
flag,但这在版本2中不可用。
#1 热门回答(112 赞)
你在命令行中指定的目标链接到Maven的lifecycle。例如,build
lifecycle(你还拥有不同的clean
和site
生命周期)由以下阶段组成:
- 验证:验证项目是否正确并且所有必要信息都可用。
- 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 Projects
tab中的所有maven目标/任务(包括插件):