JBoss AS7開発者ガイドでは、優先度の高いものから低いものへの次のクラスローディング設定について説明しています。
1. System Dependencies - These are dependencies that are added to the module automatically by the container, including the Java EE api's.
2. User Dependencies - These are dependencies that are added through jboss-deployment-structure.xml or through the Dependencies: manifest entry.
3. Local Resource - Class files packaged up inside the deployment itself, e.g. class files from WEB-INF/classes or WEB-INF/lib of a war.
4. Inter deployment dependencies - These are dependencies on other deployments in an ear deployment. This can include classes in an ear's lib directory, or classes defined in other ejb jars.
しかし、私は#2と#3の違いを理解していません。上記のカテゴリ2とカテゴリ3に分類できる依存関係の種類は、私には同じように見えます。
SpringアプリケーションをJBoss4からJBoss7に移行する例として、アプリケーションが使用していたクォーツ1.6jarのNoClassDefErrorが発生しました。クォーツ1.6jarは、私のアプリケーションのWEB-INF/libフォルダー内にあります。これは、上記のカテゴリ3に正しく該当することを意味します。しかし、Web上のほとんどの記事では、JBoss 7モジュールとして配置するか、jboss-deployment-structure.xmlで定義する必要があると示されています。なぜ ???
また、移行ガイドラインを読み、それらのガイドラインで指摘されているようにTattleTaleの演習を行いました。しかし、私がレポートをどうするかについては、よくわかりませんか?JBoss AS7スタンドアロンデプロイメントにサードパーティのJARをロードするためのこのベストプラクティスへの回答を読みましたか?-移行にはかなりの労力が必要になるようです。アプリケーションが簡単に持つことができる多数の依存関係を考えると、簡単な作業のようには思えません。誰かがこれを確認できますか?
ガイドラインが必要だと思います
どのjarに対してmodule.xmlを作成しますか?(可能な候補-Spring、Quartz、Apache、C3P0接続プールなど)???
jboss-deployment-structure.xmlはどのjarにありますか?(ここで良い候補は何でしょうか?)
どのjarファイルをweb-inf/libフォルダーに残しますか?(アプリケーションは、colt.jarなどの特定の特殊な数学ライブラリを使用します。jxls.jar、poi.jarなどの優れたグラフライブラリを使用します。これらはここでは適切な候補のようです)。