2016-06-09 3 views
0

Я хочу использовать plug-maven-plugin в качестве платформы, где я могу тестировать свои приложения с помощью внешних захваченных войн.jetty-maven-plugin с run-war останавливает выполнение maven

Так я создал мой Maven-Jetty-плагин с следующей конфигурацией:

    <plugin> 
         <groupId>org.eclipse.jetty</groupId> 
         <artifactId>jetty-maven-plugin</artifactId> 
         <configuration> 

          <war>${project.build.directory}/some.war</war> 

         </configuration> 
         <executions> 
          <execution> 
           <id>start-jetty</id> 
           <phase>integration-test</phase> 
           <goals> 
            <goal>run-war</goal> 
           </goals> 
           <configuration> 
          <war>${project.build.directory}/some.war</war> 
           </configuration> 
          </execution> 
          <execution> 
           <phase>post-integration-test</phase> 
           <goals> 
            <goal>stop</goal> 
           </goals> 
           <configuration> 
            <stopKey>stop</stopKey> 
            <stopPort>8888</stopPort> 
           </configuration> 
          </execution> 
         </executions> 
        </plugin> 

И когда я запускаю его я получаю что-то вроде этого:

[INFO] Started [email protected]{HTTP/1.1,[http/1.1]}{0.0.0.0:8888} 
[INFO] Started @21213ms 
[INFO] Started Jetty Server 

Что это нормально, но он останавливается выполнение. После этого мои тесты должны выполняться, но это не так. Я могу использовать jetty: start, который будет обходным путем без войны, поскольку он продолжит выполнение теста, но я не могу прикрепить файл войны к этой цели.

ответ

0

Именно так разработан плагин maven.

Не предназначен для внешних войн или нескольких войн, или нескольких контекстов, или для использования в производстве.

Он предназначен для работы на одном проекте (который может быть частью многомодового реактора), который определяется как <packaging>war</packaging>.

Только jetty:start позволяет продолжить выполнение, все остальные цели не предназначены для этого.

jetty:start предназначен для работы с фазой maven integration-test и maven-failsafe-plugin.

См: http://maven.apache.org/surefire/maven-failsafe-plugin/usage.html#Using_jetty_and_maven-failsafe-plugin

Все остальные maven-jetty-plugin цели предназначены для ручного тестирования проекта с <packaging>war</packaging>

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