`

richfaces中facelet版本升级到2时的典型错误和解决办法

    博客分类:
  • web
阅读更多
2010-8-31 9:48:35 com.sun.faces.config.ConfigManager initialize
信息: Unsanitized stacktrace from failed start...
javax.faces.view.facelets.FaceletException: Must have a Constructor that takes in a ComponentConfig
	at com.sun.faces.facelets.tag.AbstractTagLibrary$UserComponentHandlerFactory.<init>(AbstractTagLibrary.java:289)
	at com.sun.faces.facelets.tag.AbstractTagLibrary.addComponent(AbstractTagLibrary.java:519)
	at com.sun.faces.facelets.tag.TagLibraryImpl.putComponent(TagLibraryImpl.java:111)
	at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processComponent(FaceletTaglibConfigProcessor.java:569)
	at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTags(FaceletTaglibConfigProcessor.java:361)
	at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTagLibrary(FaceletTaglibConfigProcessor.java:314)
	at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.process(FaceletTaglibConfigProcessor.java:263)
	at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:337)
	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:223)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4323)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4780)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:988)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:771)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:988)
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:275)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:427)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:649)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:585)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)
Caused by: java.lang.NoSuchMethodException: org.ajax4jsf.taglib.html.facelets.ActionParamHandler.<init>(javax.faces.view.facelets.ComponentConfig)
	at java.lang.Class.getConstructor0(Unknown Source)
	at java.lang.Class.getConstructor(Unknown Source)
	at com.sun.faces.facelets.tag.AbstractTagLibrary$UserComponentHandlerFactory.<init>(AbstractTagLibrary.java:287)
	... 28 more
2010-8-31 9:48:35 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! org.ajax4jsf.taglib.html.facelets.ActionParamHandler.<init>(javax.faces.view.facelets.ComponentConfig)
	at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:354)
	at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:223)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4323)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4780)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:988)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:771)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:988)
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:275)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:427)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:649)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:585)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)
Caused by: java.lang.NoSuchMethodException: org.ajax4jsf.taglib.html.facelets.ActionParamHandler.<init>(javax.faces.view.facelets.ComponentConfig)
	at java.lang.Class.getConstructor0(Unknown Source)
	at java.lang.Class.getConstructor(Unknown Source)
	at com.sun.faces.facelets.tag.AbstractTagLibrary$UserComponentHandlerFactory.<init>(AbstractTagLibrary.java:287)
	at com.sun.faces.facelets.tag.AbstractTagLibrary.addComponent(AbstractTagLibrary.java:519)
	at com.sun.faces.facelets.tag.TagLibraryImpl.putComponent(TagLibraryImpl.java:111)
	at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processComponent(FaceletTaglibConfigProcessor.java:569)
	at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTags(FaceletTaglibConfigProcessor.java:361)
	at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.processTagLibrary(FaceletTaglibConfigProcessor.java:314)
	at com.sun.faces.config.processor.FaceletTaglibConfigProcessor.process(FaceletTaglibConfigProcessor.java:263)
	at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:337)
	... 21 more
2010-8-31 9:48:35 org.apache.catalina.core.StandardContext startInternal
严重: Error listenerStart
2010-8-31 9:48:35 org.apache.catalina.core.StandardContext startInternal
严重: Context [/TestRichfaces333] startup failed due to previous errors
2010-8-31 9:48:35 com.sun.faces.config.ConfigureListener contextDestroyed
严重: Unexpected exception when attempting to tear down the Mojarra runtime
java.lang.IllegalStateException: 启动时没有正确初始化应用程序,无法找到工厂:javax.faces.application.ApplicationFactory
	at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:804)
	at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:306)
	at com.sun.faces.config.InitFacesContext.getApplication(InitFacesContext.java:104)
	at com.sun.faces.config.ConfigureListener.contextDestroyed(ConfigureListener.java:309)
	at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:4362)
	at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:4933)
	at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:215)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:988)
	at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:771)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:988)
	at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:275)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.core.StandardService.startInternal(StandardService.java:427)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:649)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:585)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:415)
 

首先修改faces-config.xml: 配成2.0版本,里面不要配置view handler

<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="2.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-facesconfig_2_0.xsd">
</faces-config>

 

然后修改web.xml: 确认包含以下配置

<context-param>
    <param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
    <param-value>com.sun.facelets.FaceletViewHandler</param-value>
</context-param>

分享到:
评论
2 楼 marshan 2014-12-21  
启动失败的原因是加载的类版本冲突,因此你首先要保证依赖的版本和配置的版本一致,然后具体定位导致无法启动的代码行,最终确定是冲突、配置不对,还是代码实现的问题。
1 楼 zhaohang6688 2014-12-20  
请问我按照你的方式修改还是报错  错误信息还是这个 是为什么啊?

相关推荐

Global site tag (gtag.js) - Google Analytics