我是Maven的新手,来自蚂蚁世界。
是否可以列出您可以运行的所有可能目标(包括所有插件)?
我可以看到Maven 1中曾经有一个-g
标志,但这在版本2中不可用。
答案 0 :(得分:114)
您在命令行中指明的目标与Maven的lifecycle相关联。例如,build
生命周期(您还有clean
和site
生命周期不同)由以下阶段组成:
validate
:验证项目是否正确,并提供所有必要信息。compile
:编译项目的源代码。test
:使用合适的单元测试框架测试已编译的源代码。这些测试不应要求打包或部署代码。package
:获取已编译的代码并将其打包为可分发的格式,例如JAR。integration-test
:如有必要,将程序包处理并部署到可以运行集成测试的环境中。verify
:运行任何检查以验证包是否有效并符合质量标准install
:将软件包安装到本地存储库中,以便在本地作为其他项目的依赖项。deploy
:在集成或发布环境中完成,将最终包复制到远程存储库,以便与其他开发人员和项目共享。答案 1 :(得分:47)
是否可以列出可以运行的所有可能目标(包括所有插件)?
虽然phases的列表是有限的(插件目标列表不是因为插件列表不是,因此Maven没有内置任何内置功能)。
但是如bash completion所述,你可以更轻松地利用Guide to Maven 2.x auto completion using BASH的力量(如果你在Windows下使用cygwin)(但在选择本指南中的脚本之前,请阅读进一步)。
要使工作顺利进行,请先按this guide在计算机上设置bash完成功能。然后,是时候为Maven2获取脚本了:
maven
的打包版本中),您可以从HEAD download。 这是最好的。下面,我只是为了说明结果:
$ 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”列表的大小:)
答案 2 :(得分:5)
答案 3 :(得分:0)
让我们非常简单:
Maven Lifecycles: 1.清洁 2.默认(构建) 3.网站
默认生命周期的Maven阶段: 1.验证 2.编译 3.测试 4.包装 5.验证 6.安装 7.部署
注意: 不要将maven目标与maven生命周期混淆或混淆。
请参阅Maven构建生命周期基础知识1
答案 4 :(得分:0)
构建生命周期由阶段构成
每个构建生命周期都由不同的构建阶段列表定义,其中构建阶段代表生命周期中的一个阶段。
例如,默认生命周期包含以下阶段(有关生命周期阶段的完整列表,请参阅生命周期参考):
这些生命周期阶段(以及此处未显示的其他生命周期阶段)将按顺序执行,以完成默认生命周期。鉴于上面的生命周期阶段,这意味着当使用默认生命周期时,Maven将首先验证项目,然后将尝试编译源代码,针对测试运行,打包二进制文件(例如jar),对其运行集成测试包,验证集成测试,将经过验证的软件包安装到本地存储库,然后将已安装的软件包部署到远程存储库。
来源:https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
答案 5 :(得分:0)
奇怪的是没有人列出执行此操作的实际命令:
mvn help:describe -e -Dplugin=site
如果要列出site
插件的所有目标。输出:
名称:Apache Maven网站插件说明:Maven网站插件是一个 为当前项目生成网站的插件。组ID: org.apache.maven.plugins工件ID:maven-site-plugin版本:3.7.1 目标前缀:网站
此插件有9个目标:
site:attach-descriptor说明:添加站点描述符 (site.xml)到要文件列表 已安装/部署。 对于Maven-2.x,默认情况下仅在项目具有pom时启用 包装,因为它将由模块继承使用,但这可以 必要时启用其他项目打包功能。 此默认执行已从的内置生命周期中删除 适用于pom项目的Maven3.x。实际使用这些项目的用户 为子模块提供通用的站点描述符 定义此目标执行以恢复预期的行为。
site:deploy说明:使用wagon部署生成的站点 支持的协议 在POM部分中指定的站点URL。 对于scp协议,wagon将网站文件打包到zip存档中, 然后将归档文件传输到远程主机,然后将其取消归档 这比按文件复制文件要快得多。
site:effective-site说明:显示有效站点 描述符作为XML 在继承和内插site.xml之后,首先构建 区域设置。
site:help说明:显示有关的帮助信息 Maven站点插件。 呼叫mvn site:help -Ddetail = true -Dgoal =显示参数 详细信息。
site:jar描述:将站点输出捆绑到一个JAR中,以便它 可以部署 到存储库。
site:run说明:启动站点,将文档呈现为 要求 更快的编辑。它使用Jetty作为Web服务器。
site:site说明:为单个项目生成站点。 请注意,在多模块版本中,模块站点之间的链接将不起作用, 因为本地构建目录结构与部署的站点不匹配。
site:stage说明:将生成的站点部署到本地 分期或模拟 目录基于在 POM部分。 它可用于测试多模块中模块站点之间的链接 建立工作。
此目标要求网站已经使用该网站生成 目标,例如致电mvn网站。
site:stage-deploy说明:将生成的站点部署到 登台或模拟网址 在POM部分中指定的站点URL, 使用旅行车支持的协议
有关更多信息,请运行'mvn help:describe [...] -Ddetail'
有关https://mkyong.com/maven/how-to-display-maven-plugin-goals-and-parameters/的详细信息