Я создал MOJO для конкретной потребности приложения. Я следовал в Maven guidelines в обозначении плагина, так что я не должен упомянуть полныйПрефикс плагина Maven не работает должным образом
mvn groupId:artifactId:version:goal
для выполнения моего плагина (я назвал его в соответствии с форматом $ {префикс} -maven-плагин). Я даже включил свойство «goalPrefix» в разделе конфигурации POM плагина. Вот сопение, что я сделал POM моего плагина:
<configuration>
<goalPrefix>${prefix}</goalPrefix>
</configuration>
Но я все еще не в состоянии выполнить свой плагин только с помощью mvn ${prefix}:goal
, так как он жалуется, что не может найти плагин в любом хранилище. Мне все еще нужно было использовать mvn groupId:artifactId:version:goal
Любая идея, почему?
Да, вы были абсолютно правы, maven только, кажется, распознает плагины, чьи групповые идентификаторы являются плагинами maven и codehaus, и мой был, конечно, другим. Это очень помогло, ура. EDIT: вы знаете, как я пытаюсь выполнить цель по умолчанию, если она не указана в командной строке? Как просто использование 'mvn plugin' вместо' mvn plugin: goal'. – mystarrocks
@mystarrocks Нет таких целей, как цели по умолчанию. Тем не менее, maven знает концепцию [фаз жизненного цикла] (http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html), такие как 'compile',' test', 'install' и т. д. Плагин maven может быть привязан к такой фазе жизненного цикла. Например, если вы привяжете свой плагин к фазе 'package', вы можете просто запустить' mvn package' вместо 'mvn: '. –
хорошо, что очищает вещи, приветствия. – mystarrocks