JBoss-as-7.0.xスタンドアロン展開でサードパーティのJARをロードするベストプラクティスは何ですか?JBoss AS7スタンドアロンデプロイメントでサードパーティのJARをロードするためのベストプラクティス?
私が試してみました:
- は、それ自身のmodule.xmlのdesriptorを持つ独立したモジュールとして、各JARを配備します。
- WARのWEB-INF/libディレクトリにJARをデプロイします。
- と、複数のWARにまたがって共有されているJARのfoo.ear/libディレクトリ。
上記アプローチ1の明白な利点は、apprach 2およびアプローチ3よりも展開時のメモリフットプリントの削減です。しかし、JARが明示的に必要とする各依存関係を維持するのはかなり難しいようですmodule.xmlに定義されています。これは、多数のサードパーティのライブラリではあまりメンテナンスできません。
私はJBoss7に移行しようとしており、クラスパスエントリエラーが発生し続けています。 "Class-Pathリファレンスの有効なjarを指していない" - そのようなエラーが発生したかどうかは解消されているようです。これはおそらくJBoss7クラスのロードと関係がありますが、かなりの人が私と同じ問題を抱えていますが解決策はありません。 –
あなたの問題は、module.xmlファイル(JARをモジュールとしてロードする場合)またはjboss-deploment-structure.xmlファイルのいずれかにあります。静的ライブラリJARを参照する最良の方法は、modulesディレクトリのサブディレクトリに配置することです。 「org.foo.bar.FooBar;」を参照しようとしている場合は、あなたのディレクトリ構造が "JBOSS_HOME/modules/org/foo/bar/main/FooBarJar.jar"になりたい場合は、 "JBOSS_HOME/modules/org/foo/bar/main"を含める必要があります。 /modle.xml "ファイルを使用して、jarへのマッピングとそれが持つ可能性のある依存関係を定義します。 – travega
...(続き)あなたのモジュール。xmlファイルは次のようになります: " <! - - ここにリソースを挿入します - > <依存性> <! - ここに依存関係を挿入します - > 依存関係> 」。 WARのWEB-INFディレクトリにあるjboss-deploment-structure.xmlファイルにモジュール参照を追加することができます。 " " ... –
travega