0

JBoss7.1 クイックスタートのアーキテクチャを使用して Web アプリケーションの構築を開始しました。

気に入っていますが、プロジェクトにいくつかのライブラリを追加する必要があるため、いくつかの依存関係を pom.xml に追加します。たとえば、これは JasperReports の場合です。

<dependency>
            <groupId>net.sf.jasperreports</groupId>
            <artifactId>jasperreports</artifactId>
            <version>5.0.0</version>
        </dependency>

他のライブラリについても同様です。残念ながら、プロジェクトをビルドした後、「mvn package」によって生成された戦争のサイズが.... 36MB ?!?であることに気付きました。それは多すぎます。すぐにリモート サーバーにアップロードする必要があります。

かさばるものはすべて /WEB-INF/lib 内に格納されており、実際には一連の JAR (依存関係として含めたライブラリ) です。

不要なペイロードを毎回戦争に含める必要がないようにするためのベストプラクティスは何ですか?

JBoss 環境のどこかに JAR を含めて、別の方法で Maven の依存関係を宣言する必要があると思いますが、どうすればよいでしょうか?

4

1 に答える 1

0

Jboss を 7 モジュール システムとして使用して、JBoss モジュールが戦争から解放されるように依存関係を構築することができます。

モジュールを作成して使用する方法の例については、このブログ投稿を参照してください。

ファイルに、値としてモジュール化された jar の要素をpom.xml追加する必要があります (Java EE 依存関係には既に存在している必要があります)。これは、jar が環境によって提供されることを maven に伝えます。それらを war に入れる必要はありません。scopeprovided

この手法により、戦争は軽くなりますが、ランタイム依存関係の Maven 管理が失われます。アプリケーションがデプロイされるすべてのサーバーで正しいバージョンを使用していることを確認する必要があります。

于 2013-02-03T17:05:55.700 に答える