現在、組み込みJetty 5.1.14サーバー(サーブレット2.4)のJSF1.1で実行されている大規模なコードベースがあります。サーブレット2.5が必要になると予想されていたにもかかわらず、このバージョンのJettyでJSF 2.0.9アプリを実行することができ、EL2.1.2とJSFjarをWEB-INF/libに追加しました。これは、JSF1.1を除外するjetty構成で機能します。
本番環境は、単一のサーバーインスタンス上の多数のwarファイルとjarファイルで構成されます。
JSF1.1は現在サーバーのext/libフォルダーにあり、単一のwarファイルでJSF2jarをWEB-INF/libに含めたいと思います。サーバーJSFバージョンが最初にロードされ、クラスパスの汚染を引き起こすため、これは不可能です。
ただし、カスタムクラスローダーを使用して1つのwarファイルにJSF 1.1 jarをロードすることを排除することは可能でしょうか?ドキュメントは、物事を除外するのではなく、クラスパスにパスを追加する場合に対応しているようです。サーバー全体のコンテキストでロードされるのか、戦争だけでロードされるのかはわかりませんでした。
もう少し情報:もう1つの解決策は、Jetty8とJSF2.1以降にアップグレードすることです。これは良い考えであると経営陣に納得させることは別として、古いWebMethods7バージョンを使用します。これには、JSF APIを使用してコンテンツを生成するコンポーネントアプリケーションフレームワークによって変換されるXMLを生成するグラフィカルレイアウトツールがあります(したがって、非常にいくつかのJSP)。これは、それが機能するかどうかを確認する場合であり、このWebMethodsの「コード」をサポートし続ける必要があるために完全に再考する必要がない場合です。
ここでの主な目標は、必ずしも1つのステップではありませんが、最終的に最新のソフトウェアを実行することです。