编程语言
首页 > 编程语言> > java-如何映射maven插件别名

java-如何映射maven插件别名

作者:互联网

我想了解什么是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相同.因此,我假设mvn clean: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似乎引用surefire和org.apache.maven.plugins:maven-clean-plugin:2.5进行清洁.

当我看有效绒球时,我看到以下内容

  Maven-surefire-插件
  2.12.4
  
    
      默认测试
      测试
      
        测试
      
    
  

  Maven清洁插件
  2.5
  
    
      默认清理
      清洁
      
        清洁
      
    
  

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

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

解决方法:

从有关plugins development的Maven官方文档中:

Shortening the Command Line
There are several ways to reduce the amount of required typing:

  • If you need to run the latest version of a plugin installed in your local repository, you can omit its version number. So just use mvn sample.plugin:hello-maven-plugin:sayhi to run your plugin.
  • You can assign a shortened prefix to your plugin, such as mvn hello:sayhi. This is done automatically if you follow the convention of using ${prefix}-maven-plugin (or maven-${prefix}-plugin if the plugin is part of the Apache Maven project). You may also assign one through additional configuration – for more information see 07001.
  • Finally, you can also add your plugin’s groupId to the list of groupIds searched by default. To do this, you need to add the following to your ${user.home}/.m2/settings.xml file:

    <pluginGroups>
    <pluginGroup>sample.plugin</pluginGroup>

    </pluginGroups>

At this point, you can run the mojo with mvn hello:sayhi.

因此,别名不是在pom文件中定义的,而是maven内置机制的一部分.有关官方文档Plugin Prefix Resolution,也提供了更多详细信息.

标签:maven,maven-3,java
来源: https://codeday.me/bug/20191027/1945676.html