我正在尝试使用以下方法创建新的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
之前谢谢
答案 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.xml
或glassfish-web.xml
。有关此相关问题的答案,请参阅详细信息:How to update Mojarra version in GlassFish