当前位置:  开发笔记 > 编程语言 > 正文

Maven插件别名如何映射

如何解决《Maven插件别名如何映射》经验,为你挑选了1个好方法。

我想了解什么是mvn clean:clean实际上是做什么的。

mvn -B help:describe -Dcmd=clean
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building sample-one 1.0.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-help-plugin:2.2:describe (default-cli) @ sample-one ---
[INFO] 'clean' is a lifecycle with the following phases:
* pre-clean: Not defined
* clean: org.apache.maven.plugins:maven-clean-plugin:2.5:clean
* post-clean: Not defined

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.689 s
[INFO] Finished at: 2015-12-10T10:20:16-08:00
[INFO] Final Memory: 9M/245M
[INFO] ------------------------------------------------------------------------

在我看来,这mvn clean:clean和做事一样mvn org.apache.maven.plugins:maven-clean-plugin:2.5:clean。因此我假设第一个cleanmvn clean:clean只是一个别名org.apache.maven.plugins:maven-clean-plugin:2.5。与mvn maven-surefire-plugin:2.12.4:test相同mvn surefire:test

所以在某种程度上,maven-surefire-plugin:2.12.4似乎是指surefireorg.apache.maven.plugins:maven-clean-plugin:2.5clean

当我看有效的pom时,我看到以下的maven-surefire-plugin 2.12.4 default-test test test maven-clean-plugin 2.5 default-clean clean clean

如您所见,pom似乎没有定义别名。所以以下是我的问题

    我对插件别名的理解正确吗

    如果我对别名的理解是正确的-a)如何以及在何处定义别名?b)有没有办法列出所有别名。

A_Di-Matteo.. 7

来自有关插件开发的 Maven官方文档:

缩短命令行
有几种方法可以减少所需的键入量:

如果您需要运行本地存储库中安装的插件的最新版本,则可以忽略其版本号。因此,只需mvn sample.plugin:hello-maven-plugin:sayhi运行您的插件即可。

您可以为插件分配一个缩短的前缀,例如mvn hello:sayhi。如果遵循使用约定${prefix}-maven-plugin(或者maven-${prefix}-plugin如果插件是Apache Maven项目的一部分),则将自动完成此操作。您也可以通过其他配置来分配一个-有关更多信息,请参阅插件前缀映射简介。

最后,您还可以将插件的groupId添加到默认搜索的groupId列表中。为此,您需要在${user.home}/.m2/settings.xml文件中添加以下内容:

sample.plugin

此时,您可以使用运行mojo mvn hello:sayhi

因此,别名不是在pom文件中定义的,而是maven内置机制的一部分。有关插件前缀解析的官方文档中也提供了更多详细信息。



1> A_Di-Matteo..:

来自有关插件开发的 Maven官方文档:

缩短命令行
有几种方法可以减少所需的键入量:

如果您需要运行本地存储库中安装的插件的最新版本,则可以忽略其版本号。因此,只需mvn sample.plugin:hello-maven-plugin:sayhi运行您的插件即可。

您可以为插件分配一个缩短的前缀,例如mvn hello:sayhi。如果遵循使用约定${prefix}-maven-plugin(或者maven-${prefix}-plugin如果插件是Apache Maven项目的一部分),则将自动完成此操作。您也可以通过其他配置来分配一个-有关更多信息,请参阅插件前缀映射简介。

最后,您还可以将插件的groupId添加到默认搜索的groupId列表中。为此,您需要在${user.home}/.m2/settings.xml文件中添加以下内容:

sample.plugin

此时,您可以使用运行mojo mvn hello:sayhi

因此,别名不是在pom文件中定义的,而是maven内置机制的一部分。有关插件前缀解析的官方文档中也提供了更多详细信息。

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有