【问题标题】:Updating Primefaces from 3.2 to 3.4 throws java.lang.NoSuchFieldError: SKIP_ITERATION将 Primefaces 从 3.2 更新到 3.4 会引发 java.lang.NoSuchFieldError: SKIP_ITERATION
【发布时间】:2012-08-23 17:56:57
【问题描述】:
我已将 primefaces-3.2 替换为 primefaces-3.4 RC1。之后,如果我打开任何页面,就会抛出 java.lang.NoSuchFieldError: SKIP_ITERATION 异常。可能是什么问题?
【问题讨论】:
标签:
java
jsf
jakarta-ee
jsf-2
primefaces
【解决方案1】:
java.lang.NoSuchFieldError: SKIP_ITERATION
所以,您的 JSF 运行时环境中没有这样的字段。 VisitHint#SKIP_ITERATION 已在 JSF 2.1 中引入。另见javadoc:
SKIP_ITERATION
public static final VisitHint SKIP_ITERATION
指示通常以迭代方式多次访问子项(例如UIData)的组件应该只访问每个子项一次。
自:
2.1
NoSuchFieldError 表明您实际上使用的是 JSF 2.0 而不是 JSF 2.1。虽然 PrimeFaces 依赖 JSF 2.1 特定的增强功能确实是他们自己的错,而他们将自己指定为与 JSF 2.0 兼容(因此将其作为错误报告给他们;这显然已经由 Daniel 完成),但理论上你也可以解决通过将 JSF 2.0 升级到 JSF 2.1 来实现。 Mojarra 和 MyFaces 2.1.x 版本是 JSF 2.1 实现。