如何忽略Maven插件
我们有Maven插件的groupId:如何忽略Maven插件,maven,maven-3,maven-plugin,Maven,Maven 3,Maven Plugin,我们有Maven插件的groupId: com.company.maven.plugins 不幸的是,当我在这个groupId中创建第一个插件时,我最初使用了错误的命名约定 maven-myplugin-plugin 插件的1.x版本使用了这个名称。当我意识到这是错误的,我改变了名字,以满足客户的要求 然后我将版本更新为2.x 在我的local settings.xml文件中,我使用plugingroup从命令行访问我的插件。此特定插件不必在pom文件中指定 不幸的是,当我试图从命令行访问我
com.company.maven.plugins
不幸的是,当我在这个groupId中创建第一个插件时,我最初使用了错误的命名约定
maven-myplugin-plugin
插件的1.x版本使用了这个名称。当我意识到这是错误的,我改变了名字,以满足客户的要求
然后我将版本更新为2.x
在我的local settings.xml文件中,我使用plugingroup
从命令行访问我的插件。此特定插件不必在pom文件中指定
不幸的是,当我试图从命令行访问我的插件而不确定名称的范围时,我总是得到最新版本的错误命名约定。所以,我得到了一个1.x版本
我能告诉Maven在从命令行访问时忽略Maven myplugin插件
工件(即mvn myplugin:mygoal
)吗
有些项目仍然使用旧的1.x插件,所以我不想从我们的存储库中删除它们。此外,我们至少使用了Maven 3.0.3。似乎Maven 3按照
1. maven-myplugin-plugin
2. myplugin-maven-plugin
3. ... hard-wired groups ...
按照官方命名惯例,imho的命名方式应该是相反的。尽管如此,我认为您没有机会修复此问题。我尝试了一系列的方法,基本上是在maven插件配置中使用。使用goalPrefix安装不推荐使用的命名插件的新版本不起作用。我想您可以做的一件事是为正确命名的插件定义另一个前缀,例如:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>3.2</version>
<configuration>
<skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
<goalPrefix>myplugin2</goalPrefix>
</configuration>
</plugin>
org.apache.maven.plugins
maven插件
3.2
真的
myplugin2
另一种方法是调整旧插件的pom.xml,将其重命名为不同的名称。但这意味着您的同事将需要不同的命令来执行不同的mvn命令。或者你可以重命名你当前的插件-类似的结果
如果有更好的解决方案,我也会感兴趣 最后我重新命名了插件。谢谢你的建议。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-plugin-plugin</artifactId>
<version>3.2</version>
<configuration>
<skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
<goalPrefix>myplugin2</goalPrefix>
</configuration>
</plugin>