0

我正在尝试制作新的 icefaces 项目,该项目使用以下方法生成:ICEfaces 3.3.0 project integration for Eclipse。我没有修改项目中的任何内容。但是当我尝试在服务器上运行时,出现错误:

无法部署 MyProject

模块的部署错误:MyProject:

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

java.lang.IllegalStateException:ContainerBase.addChild:

开始:org.apache.catalina.LifecycleException:

java.lang.NoSuchFieldError: SKIP_ITERATION

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

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

之前谢谢

4

1 回答 1

1

java.lang.NoSuchFieldError: SKIP_ITERATION

根据javadoc,该字段是在 JSF 2.1 中添加的。

因此,此错误表明您的 webapp 的运行时类路径被 JSF 2.0 API JAR 文件污染。也许在/WEB-INF/lib?摆脱它。Glassfish 已经捆绑了 JSF,您不必自己提供。或者,从另一方面来说,如果您部署到捆绑 JSF 2.0 的古老 Glassfish 实例,并且 JSF 2.1 实际上捆绑在您的 web 应用程序中以尝试升级它,也会发生这种情况。如果是这样,那么您应该编辑 Glassfish 配置文件sun-web.xmlglassfish-web.xml,具体取决于 GF 版本。有关详细信息,请参阅此相关问题的答案:如何在 GlassFish 中更新 Mojarra 版本

于 2013-06-15T20:06:42.963 回答