Нет, ты не можешь. Я на самом деле не так доволен текущей реализацией из-за этих ожиданий. Первый вариант использования был простым правилом без параметров. Конечно, мы могли бы предсказать следующие вопросы.
Давайте сначала объясним, как работает «сложная» конфигурация плагина. Взгляните на следующий пример:
<rules>
<requireMavenVersion>
<version/>
</requireMavenVersion>
</rules>
Здесь requireMavenVersion - это имя класса в нижнем регистре в том же пакете, что и EnforceMojo (или enforce
goal), версия является установщиком для этого класса. То, что вы видите, не более, чем Pojo. Единственным требованием здесь является то, что RequireMavenVersion реализует интерфейс EnforcerRule, поэтому Maven может вызвать его метод execute
, см .:
@Parameter
private EnforcerRule[] rules;
Если вы хотите вызвать правило из командной строки, плагин просто пытается переименовать правило чтобы полное имя класса сделал новый экземпляр этого. Затем будет вызван его метод execute.
Запрос этой функции состоял в том, чтобы принудительно применять правила, не затрагивая проект. Это должно быть решено как расширение Maven, которое гораздо лучше подходит для этого варианта использования.
Но в заключение: нет, вы не можете.