我为特定的应用需求创建了一个MOJO。我已经按照maven的guidelines来命名插件,这样我就不用提了全部
mvn groupId:artifactId:version:goal
执行我的插件(我将其命名为匹配格式$ {prefix} -maven-plugin)。 我甚至在插件POM的配置部分中包含了'goalPrefix'属性。以下是我对插件的POM所做的嗅探:
<configuration>
<goalPrefix>${prefix}</goalPrefix>
</configuration>
但是我仍然无法使用mvn ${prefix}:goal
执行我的插件,因为它抱怨它无法在任何存储库中找到插件。我仍然不得不使用mvn groupId:artifactId:version:goal
知道为什么?
答案 0 :(得分:5)
默认情况下,Maven仅识别具有组ID org.apache.maven.plugins
和org.codehaus.mojo
的插件。如果您的插件具有不同的组ID(应该是这种情况),则需要将此组ID作为插件组添加到Maven settings.xml文件中:
<settings>
...
<pluginGroups>
<pluginGroup>the.groupid.of.my.plugin</pluginGroup>
</pluginGroups>
...
</settings>
请查看Maven Settings Reference了解更多详情。