从RichFaces 3.x迁移到RichFaces 4.x会导致解析a4j.taglib.xml时出错

时间:2013-04-25 03:42:43

标签: jsf richfaces facelets

我已下载richfaces-components-ui-4.3.1.Final.jar并将其粘贴到/WEB-INF/lib文件夹以及RichFaces 4所需的其他JAR中。尽管如此,我在部署期间收到以下提到的错误:

java.io.IOException: Error parsing jar:file:/C:/new_jboss-portal-2.7.2/jboss-portal-2.7.2/server/default/temp/deploy/tmp1275818846018948934BMS-exp.war
/WEB-INF/lib/richfaces-components-ui-4.3.1.Final.jar!/META-INF/a4j.taglib.xml

这是如何引起的?如何解决?

2 个答案:

答案 0 :(得分:0)

类路径中有两个不同的RichFaces版本:Richfaces 3.x和4.x因此问题很可能是由于版本冲突。尝试删除Richfaces 3.x并检查。

答案 1 :(得分:0)

  

解析jar时出错:... a4j.taglib.xml

这可以识别为Facelets解析错误。它无法解析RichFaces4的a4j.taglib.xml。 RichFaces4是一个JSF 2.0兼容的组件库。 JSF 2.0捆绑了Facelets 2.0。此解析错误表明您在类路径中仍然存在Facelets 1.x,它无法识别与Facelets 2.0兼容的taglib文件。

删除所有Facelets 1.x相关的JAR文件(jsf-facelets.jar)和所有Facelets 1.x特定配置,尤其是FaceletViewHandler中的faces-config.xml。这就是抑制Facelets 2.0运行。一旦摆脱了所有Facelets 1.x工件,Facelets 2.0就会运行并成功解析taglib文件。

另见: