問題: Mojarra の古い (2.0.3) バージョンを使用してプロジェクトの保守/拡張作業を行っていますが、最近バグに遭遇しました。Mojarra を更新すると、問題が修正されます。残念ながら、実稼働 Glassfish サーバーで Mojarra を更新することはできません。実稼働中の多数のアプリケーションがそのサーバー上にあり、QA 部門が回帰エラーについてすべてをチェックできる方法はありません。
提案された解決策: このアプリケーションだけで Mojarra をデプロイします。新しい Mojarra jar ( javax.faces-2.1.26.jar
) をにドロップし、別の質問で BalusC の回答ごと/WEB-INF/lib
に変更しました。sun-web.xml
複雑な問題: 機能しません。アプリ<class-loader delegate="false" />
にログインすると、null ポインター例外が発生します。どうやら、EJB が適切に設定されていないようです。「delegate」を「true」に設定したままにすると、アプリにアクセスできますが、サーバーで古い Mojarra を使用しているため、元の場所に戻ってしまいます。
では、ここで必要なことをどのように達成すればよいでしょうか? これを行う他の方法はありますか (Glassfish サーバー自体で JAR を更新する以外に、これはスターターではありません)、または私が見ている動作を修正する方法はありますか?
編集: コンソール出力を詳しく見てみると、大量のClassNotFoundException
s が表示されます。他の JAR ファイルが取り込まれていないようです。