2010-12-16 9 views
1

viewsという1つの.jspファイル\ Calendar.jspを含むmavenモジュールがあります。私はcoreという名前のもう1つのMavenモジュールを持っています。これはviewsモジュールに依存しています。パッケージタイプはviewsモジュールはjarですが、coreモジュールのパッケージタイプは戦争です。オーバーレイ処理後の.jarファイルから.jspを削除する方法

views.jarからWEB-INF \ viewsフォルダ(core.war)に.jspファイルをコピーするようにoverlayを設定しました。

<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構成が正常に動作し、それがviews.jarから(core.warの)WEB-INF \ビューのフォルダにコピーの.jspファイルを行います。

しかし、問題は、これらの.jspファイルをviews.jarから削除しないことです。したがって、私のcore.warは、重複する.jspファイルで終わります(WEB-INF/viewsフォルダに1つのコピーと、views.jarに1つのコピー)。その結果、core.warのサイズが大幅に増加します。 (。彼らはWebアプリケーションの実行中に使用されることはありませんので、views.jarにあるの.jspファイルは冗長である)

だから、質問は次のとおりです。 - 代わりにカット +貼り付け操作を行うにはoverlayを構成する方法 +貼り付け操作をコピーしてください。 overlayを使用してこれを行うことができない場合は、他にも解決策がありますか?

答えて

1

Mavenは、ローカルリポジトリまたはリモートリポジトリにすでにインストールされている依存する成果物を改ざんしないようにします。私はあなたのwarモジュールのオーバーレイ機能から何か解決策を見つけようとしていると確信しています。

これを解決するもう1つの方法があります。これは、ステップを元に戻し、ビューモジュールをもう一度見直すことです。あなたが本当に行う必要があるのは、ビューモジュールで2つのjarファイルを作成することです.1つはすべてのクラスを含み、もう1つはJSPファイルのみを含み、分類子を使ってそのアーティファクトを保存します。これを達成するには、assembly pluginを使用する必要があります。コアモジュールでは、クラシファイアを使用してJSPアーティファクトを取得し、それを使用してモジュールの戦争作成をオーバーレイします。

関連する問題