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

Noe*_*l M 99 java maven-2

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

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

我可以看到-gMaven 1中曾经有过一个标志,但是在版本2中没有.

Rom*_*las 114

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

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

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


Pas*_*ent 47

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

尽管相位列表是有限的(插件目标列表不是因为插件列表不是),但Maven没有内置任何内置功能.

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

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

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

$ 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"列表的大小有所了解:)

资源

  • 还没有看过它,但是新的"Maven Shell"工具是否提供了自动完成功能,这在这里有用吗? (2认同)
  • @romain不,`mvnsh`没有提供完成功能(至少不是我机器上的版本).我在回答之前检查过:) (2认同)

Den*_*hev 6

如果您使用IntelliJ IDEA,您可以在Maven Projects选项卡中浏览所有maven目标/任务(包括插件):

Maven项目

  • 我想通过一些命令来做到这一点。IntelliJ IDEA 是如何做到的? (2认同)

ber*_*kyi 5

奇怪的是没有人列出一个实际的命令来做到这一点:

mvn help:describe -e -Dplugin=site
Run Code Online (Sandbox Code Playgroud)

如果要列出site插件的所有目标。输出:

名称:Apache Maven Site Plugin 描述:Maven Site Plugin 是一个为当前项目生成站点的插件。组 ID:org.apache.maven.plugins 工件 ID:maven-site-plugin 版本:3.7.1 目标前缀:site

这个插件有 9 个目标:

site:attach-descriptor 描述:将站点描述符 (site.xml) 添加到要安装/部署的文件列表中。对于 Maven-2.x,默认情况下仅在项目具有 pom 打包时启用,因为它将被模块继承使用,但如果需要,可以为其他项目打包启用此功能。此默认执行已从 Maven 3.x 的 pom-projects 的内置生命周期中删除。实际使用这些项目为子模块提供公共站点描述符的用户将需要明确定义此目标执行以恢复预期行为。

site:deploy 描述:使用 wagon 支持的协议将生成的站点部署到 POM 部分中指定的站点 URL。对于 scp 协议,网站文件由 wagon 打包成 zip 存档,然后存档传输到远程主机,然后取消存档,这比通过文件复制制作文件要快得多。

site:effective-site 描述:在继承和插入 site.xml 之后,针对第一个语言环境,将有效站点描述符显示为此构建的 XML。

site:help 描述:显示有关 maven-site-plugin 的帮助信息。调用 mvn site:help -Ddetail=true -Dgoal= 显示参数详细信息。

site:jar 描述:将站点输出捆绑到 JAR 中,以便可以将其部署到存储库。

site:run 描述:启动站点,根据要求呈现文档以加快编辑速度。它使用 Jetty 作为 Web 服务器。

site:site 描述:为单个项目生成站点。请注意,多模块构建中模块站点之间的链接将不起作用,因为本地构建目录结构与部署站点不匹配。

site:stage 描述:根据 POM 部分中指定的站点 URL,将生成的站点部署到本地登台或模拟目录。它可用于测试多模块构建工作中模块站点之间的链接。

此目标要求已使用站点目标生成站点,例如通过调用 mvn site.

site:stage-deploy 描述:使用 wagon 支持的协议,将生成的站点部署到 POM 部分中指定的站点 URL 的临时 URL 或模拟 URL

有关更多信息,请运行“mvn help:describe [...] -Ddetail”

有关https://mkyong.com/maven/how-to-display-maven-plugin-goals-and-parameters/ 的更多详细信息

  • 例如对于 Spring Boot: mvn help:describe -e -Dplugin=spring-boot (2认同)