javax.faces.el.VariableResolver Classcast Exception with SpringBeanFacesELResolver
I am trying to upgrade to JSF2 and Spring 3.0.5, I am getting the following error when I deploy to Tomcat.
Any help appreciated.
SEVERE: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
java.lang.RuntimeException: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! org.springframework.web.jsf.el.SpringBeanFacesELResolver cannot be cast to javax.faces.el.VariableResolver
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:292)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4723)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5226)
at org.apache.catalina.core.StandardContext$1.call(StandardContext.java:5221)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! org.springframework.web.jsf.el.SpringBeanFacesELResolver cannot be cast to javax.faces.el.VariableResolver
at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:375)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:225)
... 8 more
Caused by: java.lang.ClassCastException: org.springframework.web.jsf.el.SpringBeanFacesELResolver cannot be cast to javax.faces.el.VariableResolver
at com.sun.faces.config.processor.ApplicationConfigProcessor.addVariableResolver(ApplicationConfigProcessor.java:652)
at com.sun.faces.config.processor.ApplicationConfigProcessor.process(ApplicationConfigProcessor.java:305)
at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
at com.sun.faces.config.processor.LifecycleConfigProcessor.process(LifecycleConfigProcessor.java:116)
at com.sun.faces.config.processor.AbstractConfigProcessor.invokeNext(AbstractConfigProcessor.java:114)
at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:222)
at com.sun.faces.config.ConfigMana开发者_C百科ger.initialize(ConfigM
anager.java:360)
You don't give too much information but you must have something wrong in your configuration. Tips:
- Wrong Spring or JSF version or some library is stuck in Tomcat lib. Are you using any kind of dependency management? What is the exact version of your spring-web-xxx.jar? What JSF implementation are you using? What's the version of that one?
Wrong schemalocation / version in any of your xml config files. Exception suggests the problem is with faces config. It should look like this:
<faces-config 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-facesconfig_2_0.xsd" version="2.0"> <application> <el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver> </application>
You can find some examples here and here. If you are not able to resolve the issue, please post some of your config files. (appcontext.xml, web.xml, faces-config.xml)
精彩评论