2015-12-30 10 views
0

Я хотел бы использовать грузовую Maven плагин (грузопассажирские Maven2-плагин) для этого сценария:Cargo Maven плагин - не может развернуть локальную войну - «Артефакт не зависимость проекта»

  • Я имею селен (ProjectT), содержащий основные, страничные объекты и некоторые этапы, используемые для тестирования пользовательского интерфейса ProjectA. Для этой структуры существуют некоторые интеграционные тесты (тесты селенового дыма) для проверки ее достоверности.
  • Цель состоит в том, чтобы запустить локальный встроенный сервер пристани с помощью груза, развернуть войну (из местных репо) с Projecta в него, а затем запустить интеграционные тесты из ProjectT против этого работает Projecta

Но я получаю проблемы развертывания ProjectA война с использованием груза.

Существует конфигурации плагина в моей ProjectT ПОМ:

[...] 

<dependencies> 
    <dependency> 
     <groupId>com.mefi</groupId> 
     <artifactId>project-a</artifactId> 
     <version>1.0-SNAPSHOT</version> 
     <type>war</type> 
    </dependency> 

    [...] 

<dependencies> 

[...] 

<plugins> 
    <plugin> 
     <groupId>org.codehaus.cargo</groupId> 
     <artifactId>cargo-maven2-plugin</artifactId> 
     <version>1.4.17</version> 
     <configuration> 
      <!-- Container definition --> 
      <container> 
      <containerId>jetty7x</containerId> 
      <type>embedded</type> 
      <dependencies> 
       <dependency> 
        <groupId>com.mefi</groupId> 
        <artifactId>project-a</artifactId> 
        <type>war</type> 
       </dependency> 
      </dependencies> 
      </container> 
      <configuration> 
      <properties> 
       <cargo.servlet.port>8080</cargo.servlet.port> 
      </properties> 
      </configuration> 
      <deployables> 
      <deployable> 
       <groupId>com.mefi</groupId> 
       <artifactId>project-a</artifactId> 
       <type>war</type> 
      </deployable> 
      </deployables> 
     </configuration> 
     <!-- Setting for container starting/stoping during phases. --> 
     <executions> 
      <execution> 
      <id>start-server</id> 
      <phase>pre-integration-test</phase> 
      <goals> 
       <goal>start</goal> 
      </goals> 
      </execution> 
      <execution> 
      <id>stop-server</id> 
      <phase>post-integration-test</phase> 
      <goals> 
       <goal>stop</goal> 
      </goals> 
      </execution> 
     </executions> 
    </plugin> 
</plugins> 

запустить из ProjectT:

mvn org.codehaus.cargo: cargo-maven2-plugin:run -Dcargo.servlet.port=9000

Сообщение об ошибке:

[ERROR] Failed to execute goal org.codehaus.cargo:cargo-maven2-plugin:1.4.17:run (default-cli) on project airtest-selenium: Artifact [com.mefi:project-a:war] is not a dependency of the project. -> [Help 1]

Артефакт с построенной войной существует в моем местном репо (ранее был построен). Я также пробовал добавить его в качестве зависимости

Пожалуйста, не могли бы вы помочь мне, что мне не хватает? Почему это не зависимость?

+0

насчет 'MVN чистой verify' – khmarbaise

+0

@khmarbaise: Привет, это дает мне то же сообщение об ошибке об артефакте, это не зависимость проекта – mefi

+0

Предполагая, что у вас есть сборка нескольких модулей? Если да, вы можете добавить структуру, которую вы создали, и откуда вы звоните в Maven ... – khmarbaise

ответ

0

Возможно, ваш идентификатор артефакта был неправильным из-за иерархии parent-child.

Если родитель: com.mefi -> project-root

Ваш развертываемых должен быть com.mefi -> project-a

0

вам нужно указать тип Deployer так выше развертываемых положить этот

<deployer> 
<type>war</type> 
</deployer> 
<deployables> 
<deployable>