См. Конфигурацию плагина в pom.xml ниже.
Я могу сделать:
mvn myplugin: myGoal
, который запускает myGoal (оба выполнения, я полагаю), но я хочу иметь возможность выбрать либо первое, либо второе выполнение независимо.
Я знаю, что могу добавить идентификатор к элементу выполнения, но как мне обратиться к этому идентификатору в командной строке. Я хотел бы перейти к тому, что делает то, что делает эта воображаемая команда:
mvn myplugin: myGoal --executionId = 1
Это возможно, или я поступаю неправильно?
<plugin>
<groupId>org.myplugin</groupId>
<artifactId>myplugin-maven-plugin</artifactId>
<version>1.1.1</version>
<executions>
<execution>
<goals>
<goal>myGoal</goal>
</goals>
<configuration>
<myParam>cats</myParam>
</configuration>
</execution>
<execution>
<goals>
<goal>myGoal</goal>
</goals>
<configuration>
<myParam>dogs</myParam>
</configuration>
</execution>
</executions>
</plugin>
Я могу сделать
mvn myplugin: myGoalWhich
запускает myGoal (я полагаю, оба выполнения)
Ни один из них (при условии, что они уникальны ] id
). Выполнения привязаны к фазе, вам нужно запустить данную фазу, чтобы вызвать их.
Я знаю, что могу добавить идентификатор к исполнительному элементу, но как мне указать этот идентификатор в командной строке.
Не поддерживается. Для подключаемых модулей, вызываемых через интерфейс командной строки, возможно определение неглобальной конфигурации в POM с использованием специального default-cli
ExecutionId
, например:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>default-cli</id>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
<descriptorRef>project</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
Это возможно, или я ошибаюсь?
Нет, невозможно. Либо передайте параметры в командной строке, либо используйте профили (с выполнением по умолчанию выше или без него).
Предположение, которое вы сделали, что если вы вызовете
mvn myplugin:myGoal
, но проблема в том, что вы получите сообщение об ошибке, потому что у выполнения нет уникальных идентификаторов (оба в этом случае имеют одинаковые).
Вы можете заниматься любимым делом через профили, которые можно активировать с помощью mvn -PXYZ и mvn -PABC