Может ли Maven 2 использовать две разные версии модуля сборки в одном проекте? - PullRequest
3 голосов
/ 15 декабря 2009

Для моего проекта требуются функции новой версии подключаемого модуля maven для некоторых его целей, но новая версия не выполняется (из-за ошибки в плагине) по одной из других целей. В качестве обходного пути, пока ошибка не будет исправлена, я хотел бы запустить сломанную цель с более старой версией плагина. Редактировать: В частности, мне нужно запустить цель generateAsync с версией 1.1 gwt-maven-plugin и все другие цели с версией 1.2-SNAPSHOT.

Когда я объявляю отдельную версию плагина для выполнения сломанной цели, Maven по-прежнему использует сломанную версию. Есть ли другой способ решить эту проблему?

<plugin>
 <groupId>org.codehaus.mojo</groupId>
 <artifactId>gwt-maven-plugin</artifactId>
 <version>1.1</version>
   <executions>
     <execution>
       <goals>
         <!-- this goal is broken in 1.2-SNAPSHOT -->
         <goal>generateAsync</goal>
       </goals>
     </execution>
   </executions>
   ...
 </plugin>
 <plugin>
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>gwt-maven-plugin</artifactId>
   <version>1.2-SNAPSHOT</version>
   <executions>
     <execution>
       <goals>
         <goal>compile</goal>
         <!-- <goal>generateAsync</goal> -->
         <goal>test</goal>
       </goals>
     </execution>
   </executions>
   ...
</plugin>

Ответы [ 2 ]

2 голосов
/ 15 декабря 2009

Вы должны не объявить один и тот же плагин дважды в вашем POM. Возможно использование одного блока <plugin> с двумя <executions>, но это не решит вашу проблему, поэтому нет , и нет способа достичь того, что вы хотите.

Но вы тестировали кандидата на выпуск gwt-maven-plugin 1.2? Сегодня он доступен здесь http://people.apache.org/~nicolas/staging/, голосование открыто в течение 72 часов, и тесты приветствуются. Возможно, ваша проблема решена в этой версии (хотя я не уверен, что вы не дали подробных сведений об этой проблеме, и поскольку я не нашел никаких проблем, связанных с gwt:generateAsync в системе отслеживания проблем плагина который был недавно закрыт или открыт).

Если у вас есть конкретная проблема, не указанная в трекере проблем , кажется, что это идеальное время, чтобы люди узнали об этом, особенно если вы хотите, чтобы она была решена в версии 1.2. Мяч на вашей площадке.

0 голосов
/ 15 декабря 2009

Я думаю, что вам нужен элемент phase в конфигурации плагина. Элемент target указывает, какую цель плагина вы хотите выполнить, а фаза выполняет то, что вы хотите, что указывает, в какой фазе должна выполняться цель плагина.

Вы можете увидеть больше об этом здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...