0

私は Websphere 8.5 とその内部 Java EE フレームワーク、DI 用の Apache OpenWebBeans とビュー用の Apache MyFaces を使用しています。「@Named」で注釈が付けられたいくつかの Bean を含む JAR もあります (つまり、それらは OpenWebBeans マネージド Bean です)。この JAR は、Web アプリケーションの「WEB-INF/lib」ディレクトリと、アプリケーションのクラスパスにあります。

CDI 実装で Bean を見つけて管理するすべての JAR に「beans.xml」ファイルを配置する必要があると言われました。私はそれを行いました(アプリケーションの「META-INF」フォルダーとJARの同じフォルダーに「beans.xml」ファイルがあります)。Tomcat 7ではすべてが問題なく動作します(JSFページでBeanにアクセスできます。すべてが注入され、問題なく解決されるなど)。アプリケーションの「WEB-INF/lib」内で Apache Open Web Beans 1.2 および MyFaces 2.0 JAR を使用して Tomcat を実行しています。

ここで、問題: Websphere で、同じ構成 (アプリケーションの「WEB-INF/lib」内にフレームワーク JAR がなく、Bean の JAR のみ) で、JSF クラス「javax.faces.component. behavior.Behavior" ページを読み込もうとするたびに (ページは読み込まれません)。奇妙なことに、アプリケーションと JAR からすべての「beans.xml」ファイルを削除すると、すべてが JSF で期待どおりに機能します (もちろん、「beans.xml」が存在しないため、OpenWebBeans Bean のロードと管理を除く)。

この問題をどこでも検索しましたが、手がかりが見つかりません。サーバーの JAR を検索して "WEBSPHERE_INSTALL\plugins\javax.j2ee.jsf.jar" で見つけたので (また、"beans.xml" がなければ、このクラスが見つかり、すべてが正常に動作します) が、アプリケーションのクラスローダーに「beans.xml」ファイルが存在する場合に、この JAR がロードされない理由がわかりません。誰か助けてくれませんか?

4

1 に答える 1