2012-05-02 5 views
0

通常、Tomcat6/7で動作するJSF2アプリケーションがあります。 これはweblogic上で実行する必要があるため、私は、私の戦争のWEB-INF/libにel-impl-2.2.jarを追加するなど、プロジェクトのセットアップを少し変更しました。Weblogic 11g(10.3.5.0)のJSF2でフォールバック・ファクトリが失敗する

私もweb.xmlに追加:

<context-param> 
    <param-name>com.sun.faces.expressionFactory</param-name> 
    <param-value>com.sun.el.ExpressionFactoryImpl</param-value> 
</context-param> 

weblogic.xmlデプロイメント記述子が含まれています

<container-descriptor> 
    <prefer-web-inf-classes>true</prefer-web-inf-classes> 
</container-descriptor> 

すべてがまだTomcatの中で完璧に動作しますが、このセットアップはとWLSに失敗します。

[HTTP:101216]Servlet: "Faces Servlet" failed to preload on startup in Web application: "app.war". java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key severe.no_factory_backup_failed at 
java.util.ResourceBundle.getObject(ResourceBundle.java:393) at 
java.util.ResourceBundle.getString(ResourceBundle.java:353) at 
javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:1002) at 
javax.faces.FactoryFinder.getFactory(FactoryFinder.java:316) at 
javax.faces.webapp.FacesServlet.init(FacesServlet.java:302) at 
weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:299) at 
weblogic.servlet.internal.StubSecurityHelper$ServletInitAction.run(StubSecurityHelper.java:250) at 
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at 
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at 
weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57) at 
weblogic.servlet.internal.StubSecurityHelper.initServletInstance(StubSecurityHelper.java:94) at 
weblogic.servlet.internal.StubSecurityHelper.createServlet(StubSecurityHelper.java:82) at 
weblogic.servlet.internal.StubLifecycleHelper.createOneInstance(StubLifecycleHelper.java:74) 
at weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:60) at 
weblogic.servlet.internal.StubLifecycleHelper.<init>(StubLifecycleHelper.java:34) at 
weblogic.servlet.internal.ServletStubImpl.initStubLifecycleHelper(ServletStubImpl.java:638) 
at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:579) at 

誰も以前に似たような問題が発生しましたか?

+0

これは、WebLogicはまだ古いバージョンのものであり、独自のバンドルのJSFのimplを使用していることを示しています。また、私はこのように、これらのパッケージが最初に私の戦争からロードするために必要なことをweblogic.xmlで指定する必要がありましたあなたの '/ WEB-INF/lib'にあるJSF APIよりも優れています。 – BalusC

+0

実際にBalusC、そうではありません。私は自分のアプリをインストールして稼働させることができましたが、このエラーはあまりに古いELバージョンを使用しているという唯一の問題だと思われます。私のel2.2式が正しく解析できるように、私はel2.2を使用する必要があります。そして、その気はそうではありません。 –

答えて

1

el-api.jarとel-impl.jarを私のプロジェクトに含めるのが私の解決策でした。

<prefer-application-packages> 
     <package-name>com.sun.el.*</package-name> 
     <package-name>javax.el.*</package-name> 
    </prefer-application-packages> 
0

これが正しい方法であるかどうかはわかりません。私にとっては、WLSのDIバインディングが不足しているようです。 wlserver_10.3 \ common \ deployable-libraries \ jsf-2.0.war \ WEB-INF \ lib \にあるデプロイ可能なライブラリを比較すると、JSF2にアップグレードするために戦争で何を提供しなければならないかがわかります。特に、DIバインディングが設定に欠落しています。

お試しください。

関連する問題