icefaces项目部署错误:org.apache.catalina.LifecycleException:java.lang.NoSuchFieldError:SKIP_ITERATION

时间:2013-06-15 17:39:49

标签: eclipse jsf glassfish-3 icefaces icefaces-3

我正在尝试使用以下方法创建新的icefaces项目:ICEfaces 3.3.0项目集成Eclipse。 我没有对项目进行任何修改。但是当我尝试在服务器上运行时,我收到了一个错误:

  

无法部署MyProject

     

模块的部署错误:MyProject:

     

加载应用程序时出现异常:java.lang.Exception:

     

java.lang.IllegalStateException:ContainerBase.addChild:

     

start:org.apache.catalina.LifecycleException:

     

java.lang.NoSuchFieldError:SKIP_ITERATION

在此之前,我正在使用ICEfaces 3.2.0项目集成Eclipse并没有问题。

我正在使用Eclipse Indigo,GlassFish服务器3,Mojarra 2.1.6

之前谢谢

1 个答案:

答案 0 :(得分:1)

  

java.lang.NoSuchFieldError:SKIP_ITERATION

根据javadoc,该字段已添加到JSF 2.1中。

因此,此错误表明您的webapp的运行时类路径受到JSF 2.0 API JAR文件的污染。也许在/WEB-INF/lib?摆脱它。 Glassfish已经捆绑了JSF,你不一定需要提供自己的。或者,从另一方面来看,如果你部署到一个古老的Glassfish实例,包括JSF 2.0和JSF 2.1实际上捆绑在你的webapp中以试图升级它,也会发生这种情况。如果是这样,那么您应该根据GF版本编辑Glassfish配置文件sun-web.xmlglassfish-web.xml。有关此相关问题的答案,请参阅详细信息:How to update Mojarra version in GlassFish