отключить плагин релиза maven, определенный в родительском pom - PullRequest
1 голос
/ 06 апреля 2011

Я новичок в Maven.У меня есть структура продукта следующим образом

myWebProduct
    pom.xml
    coreModule
    webModule
    htmlTestModule

Плагин выпуска maven определен на уровне компании файла pom.xml, который является родительским для myWebProduct.Он установил цели запуска плагина релиза по умолчанию deploy и подготовку по умолчанию clean verify install.

Я хочу выпустить продукт на уровне myWebProduct, который отлично работает, за исключением того, что я хотел бы пропустить выпуск htmlTestModule.Поскольку жизненный цикл deploy на htmlTestModule приведет к развертыванию файла war на удаленных серверах Tomcat, и я не хочу, чтобы это происходило во время выпуска.

Я попытался добавить следующее в pom.xml из htmlTestModule.

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-release-plugin</artifactId>
  <version>2.1</version>    
  <configuration>
    <skip>true</skip>
    <preparationGoals>clean validate</preparationGoals>
    <goals>testCompile</goals>
  </configuration>
</plugin>

Но при запуске mvn release: execute на myWebProduct.Я видел, что цель развертывания все еще была выполнена на htmlTestModule.Может ли кто-нибудь помочь с этим?

И я также попытался выполнить на htmlTestModule:

<plugins>           
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-deploy-plugin</artifactId>
    <version>2.5</version>      
    <executions>
      <execution>
      <id>donotRunMe</id>
      <phase>none</phase>
    </execution>                    
  </executions>
</plugin>

Тем не менее, цель развертывания всегда выполнялась в htmlTestModule.Спасибо

1 Ответ

0 голосов
/ 06 апреля 2011

Я думаю, что вы используете неправильный подход. Позвольте мне объяснить.

Фаза deploy в maven не означает развертывание на удаленном сервере или что-либо подобное. Это предназначено для развертывания в удаленном хранилище.

Следовательно, я считаю, что вам не следует пытаться пропустить этап развертывания в своем модуле, а отсоединить развертывание от удаленного сервера Tomcat от этапа deploy, сделав это, например, конкретной целью.

...