現在、アプリケーションを本番環境から新しいデータセンターに移行中です。
- 現在の本番環境: Java 1.4、Java EE 3、WAS 5.1、JSF 2.1
- 新しいデータセンター環境: Java 1.5、Java EE 5、WAS 6.1、JSF 2.1
request.getSession().getServletContext().getRequestDispatcher( "/results.faces").include(リクエスト、レスポンス);そして、ここで問題が発生します。
ケース 1: 標準仕様による EAR 構造
。EAR -> WAR -> WEB-INF -> lib -> *.jar (すべてのアプリケーション固有の jar は WEB-INF/lib の下にあります)。これは機能せず、クラスローダーによって見つからないクラスの例外を取得し続けます。また、上記の AJAX 呼び出しは失敗します (出力は生成されません)。
ケース 2: EAR には、ルート上のすべてのアプリケーション JAR ファイルが含まれます (MANIFEST.MF には手動で指定されたクラスパスがあります)。
このアプローチは完全に機能し、すべての JAR ファイルが問題なくロードされます。さらに、AJAX 呼び出しも問題なく実行されます。
なぜこれが起こっているのか考えてみてください。
- アシッシュ