我用primefaces-3.4 RC1替换了primefaces-3.2。之后,如果我打开任何页面,则会抛出java.lang.NoSuchFieldError: SKIP_ITERATION
异常。可能出现什么问题?
答案 0 :(得分:3)
这是与myfaces和某些版本的mojarra的兼容性问题
两周前我在primefaces论坛上报道了Failed attempt to replace 3.2 with 3.4.RC1
它已经修复,所以你可以从存储库3.4-SNAPSHOT中获取3.4的最新快照版本
答案 1 :(得分:3)
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(并因此将其作为一个bug报告给他们;显然已经由Daniel完成),理论上你也可以解决它它通过将JSF 2.0升级到JSF 2.1。 Mojarra和MyFaces 2.1.x版本是JSF 2.1实现。