5

我为特定的应用程序需求创建了一个 MOJO。我在命名插件时遵循了 maven 的指导方针,所以我不必提及完整的

mvn groupId:artifactId:version:goal

用于执行我的插件(我已将其命名为与 ${prefix}-maven-plugin 格式匹配)。我什至在插件 POM 的配置部分中包含了“goalPrefix”属性。这是我对插件的 POM 所做的事情:

<configuration>
  <goalPrefix>${prefix}</goalPrefix>
</configuration>

但是我仍然无法执行我的插件,mvn ${prefix}:goal因为它抱怨它无法在任何存储库中找到该插件。我仍然不得不使用mvn groupId:artifactId:version:goal任何想法为什么?

4

1 回答 1

6

默认情况下,Maven 只识别具有组 IDorg.apache.maven.pluginsorg.codehaus.mojo. 如果您的插件具有不同的组 ID(应该是这种情况),您需要将此组 ID 作为插件组添加到 Maven settings.xml 文件中:

<settings>
  ...
  <pluginGroups>
    <pluginGroup>the.groupid.of.my.plugin</pluginGroup>
  </pluginGroups>
  ...
</settings>

查看Maven 设置参考以获取更多详细信息。

于 2012-08-19T16:06:12.713 回答