为什么我的PhaseListener没有被识别为javax.faces.event.PhaseListener的实现?

为什么我的PhaseListener没有被识别为javax.faces.event.PhaseListener的实现?,java,jsf,tomcat,phaselistener,Java,Jsf,Tomcat,Phaselistener,我有一个JSF应用程序,它带有一个定制的PhaseListener,可以在Tomcat6.0.24上正常工作。 服务器启动看起来像: INFO: Starting Servlet Engine: Apache Tomcat/6.0.24 26.01.2012 09:54:21 com.sun.faces.config.ConfigureListener contextInitialized INFO: Initializing Mojarra (1.2_13-b01-FCS) for conte

我有一个JSF应用程序,它带有一个定制的PhaseListener,可以在Tomcat6.0.24上正常工作。 服务器启动看起来像:

INFO: Starting Servlet Engine: Apache Tomcat/6.0.24
26.01.2012 09:54:21 com.sun.faces.config.ConfigureListener contextInitialized
INFO: Initializing Mojarra (1.2_13-b01-FCS) for context '/myapp'
在新安装的Tomcat 6.0.35上部署相同的应用程序,它显示:

INFO: Starting Servlet Engine: Apache Tomcat/6.0.35
...
26.01.2012 10:10:26 com.sun.faces.config.ConfigureListener contextInitialized
INFO: Initializing Mojarra (1.2_13-b01-FCS) for context '/myapp'
26.01.2012 10:10:26 org.apache.catalina.core.StandardContext listenerStart
SCHWERWIEGEND: Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener
com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! 
  Source Document: jndi:/localhost/zav-gui/WEB-INF/faces-config.xml
  Cause: Class 'mypackage.CustomPhaseListener' is not an instance of 'interface javax.faces.event.PhaseListener'
一些Google点击指向错误的JSF版本号,但这些显然是相同的。但还有什么原因会导致这种情况呢?谢谢你的帮助

更新 该错误也发生在干净的6.0.24安装上。以下是TOMCAT_INST\lib的内容:

我的应用程序在WEB-INF\lib中有以下与JSF相关的文件:


出于兴趣,您的6.0.24 tomcat也是一个新安装吗?它可能是与类装入器相关的问题吗?也许你有两个不同的罐子,里面装着PhaseListener。检查您的war?这可能是类加载问题,也就是说,由于使用了不同的类加载器,您可能会得到不同版本的javax.faces.event.PhaseListener,而不是mypackage.CustomPhaseListener实现。您是否在6.0.24 Tomcat和6.0.35版本中启用了应用程序隔离?@Kevin-否,受您问题的鼓励,我设置了一个干净的6.0.24。。。我该怎么说。。。同样的问题也出现了!将更新问题:@Thomas请查看我关于LIB的更新。我如何启用应用程序隔离?出于兴趣,您的6.0.24 tomcat也是一个新安装吗?它是否与类加载器相关?也许你有两个不同的罐子,里面装着PhaseListener。检查您的war?这可能是类加载问题,也就是说,由于使用了不同的类加载器,您可能会得到不同版本的javax.faces.event.PhaseListener,而不是mypackage.CustomPhaseListener实现。您是否在6.0.24 Tomcat和6.0.35版本中启用了应用程序隔离?@Kevin-否,受您问题的鼓励,我设置了一个干净的6.0.24。。。我该怎么说。。。同样的问题也出现了!将更新问题:@Thomas请查看我关于LIB的更新。如何启用应用程序隔离?