Web Services Feature Pack がインストールされた WAS 6.1 に単一の耳で複数の war を展開しました。耳の中には、Struts 2 を使用した 2 つの戦争があります。
アプリケーションが期待どおりに動作するように、戦争の 1 つが正しく動作します。
2 番目のアプリケーションは、次のエラーを返します。
[6/27/12 17:20:26:240 EDT] 0000002e WebApp E [サーブレット エラー]-[フィルター [struts2]: 必要なフィルター クラスが見つかりませんでした - org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。クラス]: java.lang.ClassNotFoundException: org.apache.s truts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
ここで強調表示されている問題を認識しています: http://struts.apache.org/2.2.1/docs/multiple-struts-2-wars-in-a-single-ear.html
この正確な耳は、WAS 6.1 テスト環境では正しく機能しますが、WAS 6.1の完全なインストールでは正しく機能しません。
両方の WAS インストールのクラスローダーは MULTIPLE および CHILD_FIRST として定義されているため、両方の war が独自のクラスローダーを取得します。
質問: WAS テスト環境とフル プロダクション インストールのクラス ローダーに違いはありますか?
副次的な質問: この問題を解決するには、耳に共有ライブラリを作成する必要がありますか?