2

アプリをビルドするためにリソースをコピーするMavenアセンブリスクリプトがあります。いくつかのwarファイルを別々の外部プロジェクトから出力の/webappsディレクトリにコピーする必要があります。それを行うための魔法のコマンドを見つけることができないようです。

を使用して、dependencySetをアセンブリに追加してみました<include com.mygroup:mywarfile>。これは、コンパイルまたはランタイムのスコープを持つプロジェクトにwar依存関係として「mywarfile」を追加した場合に機能します。残念ながら、私のプロジェクトは戦争を引き起こし、maven-war-pluginには外部のmywarfileがオーバーレイとして含まれていますが、これは望ましくありません。

外部戦争依存関係のスコープを提供またはテストに設定すると、アセンブリは次の警告とともに失敗します。

[警告]次のパターンは、このアーティファクト包含フィルターではトリガーされませんでした:'com.mygroup:mywarfile'

私がやりたいのは、アセンブリにアーティファクトをローカルリポジトリからアセンブリ出力にコピーさせることだけです。プロジェクトの他の部分を台無しにすることなくそれを行う方法は?

4

2 に答える 2

2

maven-assembly-plugin はコピー用ではありません。依存関係をコピーするより良い方法は、依存関係などをコピーできるmaven-dependency-pluginです。Tomcat などへの展開について話している場合は、carg2-maven-pluginまたはtomcat-maven-pluginを詳しく調べる必要があります。は、そのタスクにより適しているように思われました。

于 2012-06-20T16:44:48.360 に答える
0

私はこれを試していませんが、の構成exclude機能を使用して、依存する war ファイルの内容を war プロジェクトに含めないようにすることができます。オーバーレイのドキュメントからの変更されたスニペット、overlaymaven war plugin

...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <overlays>
            <overlay>
              <groupId>com.example.projects</groupId>
              <artifactId>warToBeExcluded</artifactId>
              <excludes>
                <exclude>*</exclude>
              </excludes>
            </overlay>
          </overlays>
        </configuration>
      </plugin>
    </plugins>
  </build>
...
于 2012-06-21T06:18:48.200 に答える