JSF 2.2,Richfaces 4.3 Weblogic 12c中的部署错误

时间:2014-07-30 23:49:21

标签: richfaces jsf-2.2 weblogic12c

我正在使用JSF 2.2和Richfaces 4.3在Weblogic 12c中部署我的应用程序(使用jdk 1.7)。部署期间存在JSF错误。我粘贴了下面的所有相关代码。

请告诉我任何解决此错误的建议。 有没有办法避免 jsf.spi.injection.provider_not_found 错误?然后是javax.faces.FacesException?

PS:该应用程序在Tomcat 7.0中部署并正常运行

Weblogic部署日志

####<Jul 30, 2014 6:53:37 PM EDT> <Error> <javax.enterprise.resource.webcontainer.jsf.application> <lsdz0010> <dt1-stnd-instance1> 
<[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <> <1406760817033> 
<**jsf.spi.injection.provider_not_found**> 
<JSF1030: The specified InjectionProvider implementation 'com.bea.faces.WeblogicInjectionProvider' cannot be loaded.> 

####<Jul 30, 2014 6:53:51 PM EDT> <Warning> <javax.enterprise.resource.webcontainer.jsf.config> <lsdz0010> <dt1-stnd-instance1> 
<[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <> <1406760831934> 
<jsf.config.webconfig.param.deprecated> 
<JSF1025: [/IGATE2DATATOOL] Context initialization parameter 'facelets.REFRESH_PERIOD' is deprecated.  
The option will still be configured, but please use 'javax.faces.FACELETS_REFRESH_PERIOD' in the future.> 

####<Jul 30, 2014 6:53:52 PM EDT> <Error> <javax.enterprise.resource.webcontainer.jsf.config> <lsdz0010> <dt1-stnd-instance1> 
<[ACTIVE] ExecuteThread: '5' for queue: 'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <> <1406760832397> 
<BEA-000000> <Critical error during deployment: 
**javax.faces.FacesException: Error parsing config file zip:....war/WEB-INF/lib/richfaces-components-ui-4.3.5.Final.jar!/META-INF/csv.xml**
    at org.richfaces.javascript.ClientServiceConfigParser.parse(ClientServiceConfigParser.java:79)
    at org.richfaces.javascript.ClientServiceConfigParser.parseConfig(ClientServiceConfigParser.java:48)
    at org.richfaces.application.ValidatorModule.createClientScriptService(ValidatorModule.java:65)
    at org.richfaces.application.ValidatorModule.configure(ValidatorModule.java:60)
    at org.richfaces.application.ServicesFactoryImpl.init(ServicesFactoryImpl.java:27)
    at org.richfaces.application.InitializationListener.createFactory(InitializationListener.java:130)
    at org.richfaces.application.InitializationListener.onStart(InitializationListener.java:68)
    at org.richfaces.application.InitializationListener.processEvent(InitializationListener.java:152)

weblogic.xml中

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.4/weblogic-web-app.xsd">
<wls:weblogic-version>12.1.2</wls:weblogic-version>
     <wls:context-root>IGATE2DATATOOL</wls:context-root>
     <wls:container-descriptor>
         <wls:prefer-application-packages>
             <wls:package-name>package.that.conflicts.*</wls:package-name>
             <wls:package-name>javax.faces.*</wls:package-name>
             <wls:package-name>com.sun.faces.*</wls:package-name>
             <wls:package-name>com.bea.faces.*</wls:package-name>
         </wls:prefer-application-packages>
         <wls:prefer-application-resources> 
            <wls:resource-name>javax.faces.*</wls:resource-name> 
            <wls:resource-name>com.sun.faces.*</wls:resource-name> 
            <wls:resource-name>com.bea.faces.*</wls:resource-name>  
            <wls:resource-name>META-INF/services/javax.servlet.ServletContainerInitializer</wls:resource-name>
            <resource-name>META-INF/services/com.sun.faces.spi.FacesConfigResourceProvider</resource-name>
            <wls:resource-name>META-INF/services/com.sun.faces.*</wls:resource-name>
        </wls:prefer-application-resources>
     </wls:container-descriptor>
</wls:weblogic-web-app>

面-config.xml中

<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="2.0" xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xi="http://www.w3.org/2001/XInclude"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">
.
.
</faces-config>

的web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
...
 <servlet>
  <servlet-name>Faces Servlet</servlet-name>
  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
</web-app>

Jar在 - WEB-INF / lib

javax.faces-2.2.6.jar
richfaces-components-api-4.3.5.Final.jar
richfaces-components-ui-4.3.5.Final.jar
richfaces-core-api-4.3.5.Final.jar
richfaces-core-impl-4.3.5.Final.jar

1 个答案:

答案 0 :(得分:0)

这看起来像是腐败的jar。但是RichFaces尚未支持JSF2.2版本。因此请使用JSF2.1版本。请参阅here以获取Richfaces 4.3.7的发行说明,该说明已升级为支持Mojarra 2.1.28。解决Jar问题后,您将获得不支持的版本错误。根据{{​​3}},RichFaces将支持版本4.5中的JSF2.2