質問

背景:設定しないでください機能的な試験モジュールは、mavenプロジェクト.を使用していまし maven-桟橋-プラグイン 試験をします。

私にとって、桟橋プラグインの設定 このように (遊びのフェールセーフインストールがいいロケーションとクラシック戦争案件から主にウェブを用いたモジュール桟橋(トをさせていただいた仲なので設置され、地方mavenレポ時には、機能テストモジュールはた。

の桟橋プラグインの ラン戦争の目標<webApp> 要素を文字列パスの戦争を展開している。なの指定戦を展開にmavenローカル座標で定義される当社ウェブモジュールです。はありません。

可能な回避策:

  1. 部4.13の"より良いビルドのMaven" 説明を使用貨物、コーポレート-ガバナンスを戦争を使用して指定されmavenローカル座標が、この重大な漏れしい桟橋.
  2. よりリーズナブルなIMOは依存関係:コピーコピーの構築、設置戦争案件を一定の機能試験モジュールのターゲットディレクトリは、私を提供することができる桟橋プラグインの <webApp> 構成要素となります。
役に立ちましたか?

解決

  

桟橋のプラグインの実行戦争の目標は、展開する戦争に文字列のパスを取る要素を持っています。私はむしろ弊社のWebモジュールで定義された座標Mavenを使用して展開する戦争を指定すると思います。これを実行する方法はありますか?

このはない、実際にMavenの桟橋プラグインは、プラグインを使用すると、デフォルトでサポートされていない何をしたいのか、現在のモジュールの戦争を、配備、使用することを想定しているされています。

  

「ベターのMavenでビルド」のセクション4.13は、Mavenの座標を使用して指定戦争を展開する貨物を使って記述し、

はい、カーゴはきれいな方法でこれを行うことができます。

  

しかし、それはやり過ぎ、我々は桟橋を使用していることを考えると深刻だ。

私は同意しません。まず、桟橋のプラグインは、あなたが(それが適切なツールではないかもしれないので)箱から出してやりたいことをサポートしていません。第二に、の深刻な過剰は、特に貨物が非常に少ない設定(ゼロ?)組み込みのJettyのために必要であることを考えると、実際には、誤解非常に誇張されています。

  

より合理的なIMOは、依存関係を使用している:機能テストモジュールのターゲットディレクトリに固定パスにジャストインストールビルトインと戦争の成果物をコピーするコピー

犯罪ませんが、あなたの全体の問題は、ビットのように聞こえるん:?私はなって、スクリュードライバーは深刻な過剰に思われること。の私はハンマーを持って、それは、爪の罰金でした>(あなたが何を言っているかどうかしている)、この質問に答えるために、あなたはdependency:copyを使用して、Mavenの桟橋のプラグインでの作業全部を取得するが、これはハックです(そして、あなたが実際にどんな質問をしていないことから、私は推測することができますあなたは)これについて意見を求めていました。もちろん、最終的な決定はあなたに属している:)

念のため、ここで私は貨物でこれを実装する方法をされます:

<dependencies>
  <dependency>
    <groupId>war group id</groupId>
    <artifactId>war artifact id</artifactId>
    <type>war</type>
    <version>war version</version>
  </dependency>
  ...
</dependencies>
...
<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.cargo</groupId>
      <artifactId>cargo-maven2-plugin</artifactId>
      <configuration>
        <!-- Container configuration -->
        <container>
          <containerId>jetty6x</containerId>
          <type>embedded</type>
        </container>
        <!-- Configuration to use with the container or the deployer -->
        <configuration>
          <deployables>
            <deployable>
              <groupId>war group id</groupId>
              <artifactId>war artifact id</artifactId>
              <type>war</type>
              <properties>
                <context>war context</context>
              </properties>
            </deployable>
          </deployables>
        </configuration>
        <!-- Don't wait, execute the tests after the container is started -->
        <wait>false</wait>
      </configuration>
      <executions>
        <execution>
          <id>start-container</id>
          <phase>pre-integration-test</phase>
          <goals>
            <goal>start</goal>
          </goals>
        </execution>
        <execution>
          <id>stop-container</id>
          <phase>post-integration-test</phase>
          <goals>
            <goal>stop</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
    ...
  </plugins>
  ...
</build>

そして、私は、これは「深刻な過剰」として客観的に修飾することができないと思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top