Frage

Ich versuche, das Maven -Failsafe -Plugin zu verwenden, um meine Integrationstests mit dieser Konfiguration auszuführen:

 <plugin>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>2.7.1</version>
    <executions>
      <execution>
        <id>integration-test</id>
        <goals>
          <goal>integration-test</goal>
        </goals>
      </execution>
      <execution>
        <id>verify</id>
        <goals>
          <goal>verify</goal>
        </goals>
      </execution>
     </executions>
</plugin>

<plugin>
    <groupId>org.mortbay.jetty</groupId>
    <artifactId>maven-jetty-plugin</artifactId>
    <version>6.1.7</version>
    <configuration>

          <connectors>
            <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
              <port>8080</port>
              <maxIdleTime>3600000</maxIdleTime>
            </connector>
          </connectors>

        <contextPath>/</contextPath>
        <scanIntervalSeconds>3</scanIntervalSeconds>
        <scanTargetPatterns>
            <scanTargetPattern>
                <directory>src/main/webapp/WEB-INF</directory>
                <excludes>
                    <exclude>**/*.jsp</exclude>
                    <exclude>**/*.html</exclude>
                </excludes>
                <includes>
                    <include>**/*.page</include>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </scanTargetPattern>
        </scanTargetPatterns>
    </configuration>
    <executions>
            <execution>
                <id>start-jetty</id>
                <phase>pre-integration-test</phase>
                <goals>
                  <goal>run-war</goal>
                </goals>
                <configuration>
                  <scanIntervalSeconds>0</scanIntervalSeconds>
                  <daemon>true</daemon>
                </configuration>
            </execution>
            <execution>
                <id>stop-jetty</id>
                <phase>post-integration-test</phase>
                <goals>
                  <goal>stop</goal>
                </goals>
            </execution>
  </executions>
</plugin>

Alles ist in Ordnung, bis der Steg in der Phase vor Integrationstest begonnen wird. Dann passiert nichts, als würde es auf etwas warten. Die letzte Zeile sagt:

[INFO] Started Jetty Server

Wie kann ich die Tests durchführen, um gleich danach zu beginnen? Ich laufe Maven benutze mvn verify.

War es hilfreich?

Lösung

Änderung der Pluginversion von Stegy Maven von 6.1.7 auf 6.1.26 löste alles.

Andere Tipps

Für Leute, die immer noch nach einer Lösung suchen, hatte ich das gleiche Problem und löste sie, indem ich ersetzt habe

<goals>
     <goal>run-war</goal>
</goals>

durch

<goals>
     <goal>start</goal>
</goals>

Es funktioniert, weil Run* die Ausführung blockiert, während der Start nicht blockiert ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top