0

Mavenビルドツールを使用しています。

次の2つは私の意図です。

1) WEB-INF/lib フォルダーからサードパーティのライブラリ jar の一部を war から移動するには [注: これらの jar は、3 つ以上の war ファイル (またはアーティファクト) で共通です]

2) war ファイルのサイズを小さくする。

これらの jar を war から移動してフォルダーに入れることは可能ですか?これらの jar は、それを必要とする war によってのみクラスパスで参照される必要があります。

war ファイルの MANIFEST.MF の Class-Path: に jar へのパスを追加しようとしましたが、うまくいきませんでした。私を助けてください。

4

1 に答える 1

0

問題の jar は、Web アプリケーションを構成するコードをコンパイルするために必要だと思います。サードパーティの jar がコンパイルに必要であるが、それらを war ファイルに含めたくない場合は、次の 2 つのオプションがあります。

  1. サードパーティ jar の <dependency></dependency> セクションに、「<scope>provided</scope>」を追加します。

  2. war で不要な jar を除外するように maven war プラグインを構成します。詳細については、 http://maven.apache.org/plugins/maven-war-plugin/examples/skinny-wars.htmlを参照してください。

war から除外した jar ファイルを Web コンテナーのクラスパスに入れる方法は、環境によって異なります。ear ファイルを使用している場合は、上記の Maven ドキュメントで、ear ファイルに含まれる jar を取得する方法について説明しています。ear ファイルを使用していない場合は、jar ファイルをコンテナの lib ディレクトリに入れる独自の方法を考え出す必要があります。

于 2012-04-20T19:39:47.813 に答える