2010-02-03 4 views
28

Можно ли вызывать выполнение maven-exec-плагина (или любого другого плагина) по его идентификатору из командной строки?Конфигурации нескольких конфигураций Maven maven-exec-plugin

Скажем, мой файл pom.xml выглядит следующим образом:

<project> 
[...] 
    <plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>exec-maven-plugin</artifactId> 
    <executions> 
     <execution> 
      <id>foo</id> 
      <goals> 
       <goal>exec</goal> 
      </goals> 
      <phase></phase> 
      <configuration> 
       <executable>echo</executable> 
       <arguments> 
        <argument>foo</argument> 
       </arguments> 
      </configuration> 
     </execution> 
     <execution> 
      <id>bar</id> 
      <goals> 
       <goal>exec</goal> 
      </goals> 
      <phase></phase> 
      <configuration> 
       <executable>echo</executable> 
       <arguments> 
        <argument>bar</argument> 
       </arguments> 
       </configuration> 
      </execution> 
     </executions> 
    </plugin> 
[...] 
</project> 

Теперь это можно назвать

МВН Exec: EXEC

с некоторыми добавлениями магии, чтобы запустить исполнение "foo"?

Для любознательных есть альтернативное решение с использованием профилей, имеющихся здесь: http://www.mail-archive.com/[email protected]/msg00151.html

+3

Я не могу получить плагин для работы с в теге . Тем не менее, он работает, помещая его прямо за тегом . Ошибка: «Исполняемые параметры» для цели org.codehaus.mojo: exec-maven-plugin: 1.2.1: exec отсутствуют или недействительны » – avanderw

+0

Обратите внимание, что в приведенном выше« альтернативном решении с использованием профилей »' ' теги отсутствуют. – zb226

ответ

15

Нет, это не возможно. Исполнения предназначены для привязки к жизненному циклу (т. Е. Они не предназначены для вызова в командной строке). Таким образом, вам придется использовать трюк профиля, описанный в ссылке, которую вы предоставили.

+0

Это не совсем так. См. [Мой ответ] (http://stackoverflow.com/questions/2192660/maven-maven-exec-plugin-multiple-execution-configurations/7085988#7085988). –

+1

Теперь это возможно. См. Ответ сленго. – heenenee

+1

См. Следующий ответ: он работает :-) – BTakacs

0

Я думаю, что если вы напишете выполнить цель:

org.codehaus.mojo:exec-maven-plugin:¿Version?:exec 

он работал для меня в затмении Maven плагин.

11

Не упомянуто здесь, что с Maven 2.2.0, если вы give an execution of any plugin the id "default-cli", то при запуске этого плагина из командной строки эта конфигурация используется. Вы ограничены только одним исполнением по умолчанию каждого плагина, но это начало.

Смежные вопросы