1

views1 つの .jsp ファイル \Calendar.jsp を含むという名前の Maven モジュールがあります。coreモジュールに依存する、という名前の別のmavenモジュールがありviewsます。モジュールのパッケージ タイプviewsは jar ですが、モジュールのパッケージ タイプcoreは war です。

.jsp ファイルを WEB-INF\views フォルダー (の)overlayにコピーするように構成しました。views.jarcore.war

<configuration>
        <overlays>
            <overlay>
                <groupId>org.opensource</groupId>
                <artifactId>views</artifactId>
                <type>jar</type>
                <includes>
                    <include>**/*.jsp</include>
                </includes>
                <targetPath>WEB-INF/views</targetPath>
            </overlay>
        </overlays>
</configuration>

overlay構成は正常に機能し、.jspファイルを WEB-INF\views フォルダー (の) にコピーします。views.jarcore.war

しかし問題は、これらの .jsp ファイルが .jsp ファイルから削除されないことですviews.jar。そのため、core.war.jsp ファイルが重複してしまいます (1 つのコピーは WEB-INF/views フォルダーにあり、もう 1 つのコピーは にありますviews.jar)。その結果、サイズcore.warが大幅に増加します。(含まれている .jsp ファイルはviews.jar、webapp の実行中に使用されないため、冗長です。)

問題は次のとおりです。- コピー+ 貼り付け操作の代わりにカットoverlay+ 貼り付け操作を行うように構成する方法。を使用してこれを行うことができない場合、他の (Maven フレンドリーな) 解決策はありますか?overlay

4

1 に答える 1

1

Maven は、ローカルまたはリモートのリポジトリに既にインストールされている依存アーティファクトの改ざんを避けたいと考えています。war モジュールのオーバーレイ機能からのソリューションで、ここで見つけることができると確信しています。

これを解決する別の方法があります。それは、一歩下がってビュー モジュールをもう一度見ることです。実際に行う必要があるのは、ビュー モジュールを使用して 2 つの jar を作成することです。1 つはすべてのクラスを含み、もう 1 つは JSP ファイルのみを含み、そのアーティファクトを分類子で保存します。これを行うには、アセンブリ プラグインを使用する必要がある場合があります。Core モジュールで、JSP アーティファクトを分類子とともに取得し、それを使用してモジュールの war 作成をオーバーレイします。

于 2010-12-16T15:27:45.227 に答える