2

Seleniumを使用していくつかの統合テストを行ったので、統合前テストフェーズの目標を定義したので、次のようにします。

  • 突堤を開始します
  • アプリをデプロイする
  • テストを実行する
  • 桟橋を止めろ

これは私のローカルサーバーで正常に動作します。

ただし、現在、tomcatを使用して開発サーバーにアプリをデプロイしています。このテストをJettyではなくこのtomcatで実行したいのですが、ビルドがtomcat(8080)と同じポートでJettyを起動しようとして失敗します。mvnパッケージを実行しています。

この目標の実行をスキップするために使用できるMavenのパラメーターはありますか?

これは、統合テストの前にサーバーを起動するために使用しているスニペットです。

        <plugin>
            <groupId>org.mortbay.jetty</groupId>
            <artifactId>maven-jetty-plugin</artifactId>
            <version>6.1.10</version>
            <configuration>
                <scanIntervalSeconds>10</scanIntervalSeconds>
                <stopKey>foo</stopKey>
                <stopPort>9999</stopPort>
                <contextPath>/</contextPath>
            </configuration>
            <executions>
                <execution>
                    <id>start-jetty</id>
                    <phase>pre-integration-test</phase>
                    <goals>
                        <goal>run</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>
4

2 に答える 2

4

Maven 2.0.10以降では、コマンドラインを使用して、識別子の前に文字「!」を付けることにより、1つ以上のプロファイルを非アクティブ化できます。または以下に示すように「-」:

mvn groupId:artifactId:goal -P !profile-1,!profile-2

これを使用して、activeByDefaultとしてマークされたプロファイル、またはアクティブ化構成を介してアクティブ化されるプロファイルを非アクティブ化できます。

詳細はこちら

于 2018-03-27T10:29:39.007 に答える
3

Mavenプロファイルで問題を解決できます。Jettyコンテナ用のプロファイルとTomcat用の別のプロファイルを作成します

于 2012-09-18T15:07:32.597 に答える