调试facelets-1.1.14的异常解决

简介: 调试facelets-1.1.14的异常解决 部署Hangman例子,其WEB-INF/lib下包含如下JAR包: · servlet-api-2.4.jar · jsf-facelets.

调试facelets-1.1.14的异常解决



部署Hangman例子,其WEB-INF/lib下包含如下JAR包:
· servlet-api-2.4.jar
· jsf-facelets.jar
· jsf-api-1.2_04-p02.jar
· el-impl-1.0.jar
· el-api-1.0.jar
· custom_jsf_lib_1_0_2.jar

但出现以下错误:

[java]   view plain copy print ?
  1. 严重: Servlet /hangman threw load() exception  
  2. java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory  
  3.     at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:256)  
  4.     at javax.faces.webapp.FacesServlet.init(FacesServlet.java:142)  
  5.     at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)  
  6.     at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)  
  7.     at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4149)  
  8.     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4458)  
  9.     at org.apache.catalina.startup.HostConfig.checkResources(HostConfig.java:1173)  
  10.     at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1271)  
  11.     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:296)  
  12.     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)  
  13.     at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1337)  
  14.     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)  
  15.     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)  
  16.     at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)  
  17.     at java.lang.Thread.run(Thread.java:619)  


原因是缺少JAR包。继续添加JAR包:
· commons-beanutils.jar
· commons-collections.jar
· commons-digester.jar
· commons-logging.jar
· jsf-impl.jar

又出现以下错误:
[java]   view plain copy print ?
  1. 严重: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener  
  2. java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/catalina/loader/WebappClassLoader) of the current class, com/sun/faces/config/ConfigureListener, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature  
  3.     at com.sun.faces.config.ConfigureListener.registerELResolverAndListenerWithJsp(ConfigureListener.java:1570)  
  4.     at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:403)  
  5.     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934)  
  6.     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4429)  
  7.     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)  
  8.     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)  
  9.     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)  
  10.     at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:850)  
  11.     at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:724)  
  12.     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:493)  
  13.     at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)  
  14.     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)  
  15.     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)  
  16.     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)  
  17.     at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)  
  18.     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)  
  19.     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)  
  20.     at org.apache.catalina.core.StandardService.start(StandardService.java:516)  
  21.     at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)  
  22.     at org.apache.catalina.startup.Catalina.start(Catalina.java:583)  
  23.     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
  24.     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)  
  25.     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)  
  26.     at java.lang.reflect.Method.invoke(Method.java:597)  
  27.     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)  
  28.     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)  


分析原因,是el-api-1.0.jar包与现有JAR包存在冲突,删之。最终库文件如下:
· servlet-api-2.4.jar
· jsf-facelets.jar
· jsf-api-1.2_04-p02.jar
· el-impl-1.0.jar
· custom_jsf_lib_1_0_2.jar
· commons-beanutils.jar
· commons-collections.jar
· commons-digester.jar
· commons-logging.jar
· jsf-impl.jar

搞定。亲切的页面出现,如下所示:


Hangman图

目录
相关文章
|
7月前
|
Windows
调试实战——使用windbg调试TerminateThread导致的死锁
本文记录了调试 TerminateThread 导致的死锁问题
|
7月前
|
Windows
|
7月前
|
Windows
调试实战——使用windbg调试DLL卸载时的死锁
dll 卸载时死锁了,不怕,windbg 来解决
|
7月前
|
存储
调试实战——使用windbg调试崩溃在ole32!CStdMarshal::DisconnectSrvIPIDs
使用windbg调试崩溃在ole32!CStdMarshal::DisconnectSrvIPIDs
|
9月前
|
程序员 Windows
学C的第十九天【实用调试技巧:1. 调试;2. Windows环境调试介绍;3. 一些调试的实例;4. 一些调试的实例】-2
查看调用堆栈(调用堆栈) 通过调用堆栈,可以清晰地反应函数的调用关系以及当前调用所处的位置。
|
10月前
|
运维 监控 数据可视化
JVM调试命令与调试工具
JVM调试命令与调试工具
177 0
|
11月前
|
JSON Java Android开发
每次调试打印日志都很头痛
每次调试打印日志都很头痛
93 0
|
IDE 测试技术 PHP
如何调试PHP代码?在项目中如何排查错误?
如何调试PHP代码?在项目中如何排查错误?
215 0
Windows服务的调试方法
Windows服务的调试方法