最近、動的サーブレット構成を使用できるように、アプリをサーブレット 2.5 からサーブレット 3.0 に変換しました。
Spring の SpringServletContainerInitializer を使用して、コード内に存在する WebApplicationInitializer の対応するインスタンスでアプリケーションを初期化しています。このアプローチは Tomcat では機能しますが、Websphere 8.5.0.1 にデプロイする場合、SpringServletContainerInitializer はコードで WebApplicationInitializer インターフェースの実装を見つけることができないため、Spring MVC ディスパッチャー サーブレットは作成されません。
著者がそれを機能させることができなかった1 つのブログ投稿をオンラインで見つけました。
クラス ローダー、クラス ロードの順序をいじり、別の方法でサーブレット 3.0 がコンテナー内で動作することを確認してみましたが、問題ないようです。WAS クラス ローダー ビューアを使用すると、SpringServletContainerInitializer クラスと WebApplicationInitializer インターフェースがロードされていることを確認できますが、WebApplicationInitializer 実装はロードされていません。
Websphereでこれを試した人はいますか? クラスローダの問題かもしれないと考えていますが、最終的にはわかりません。