Как запустить конкретную цель с определенной конфигурацией в плагине Maven, когда я есть несколько конфигураций для этой цели

См. Конфигурацию плагина в 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>
27
задан Bhargav Rao 5 September 2018 в 01:10
поделиться

2 ответа

Я могу сделать 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>

Это возможно, или я ошибаюсь?

Нет, невозможно. Либо передайте параметры в командной строке, либо используйте профили (с выполнением по умолчанию выше или без него).

Ссылки

21
ответ дан 28 November 2019 в 04:50
поделиться

Предположение, которое вы сделали, что если вы вызовете

  mvn myplugin:myGoal

, но проблема в том, что вы получите сообщение об ошибке, потому что у выполнения нет уникальных идентификаторов (оба в этом случае имеют одинаковые).

Вы можете заниматься любимым делом через профили, которые можно активировать с помощью mvn -PXYZ и mvn -PABC

3
ответ дан 28 November 2019 в 04:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: