无法将包含primefaces的war文件部署到websphere

时间:2018-04-17 14:15:44

标签: java deployment primefaces websphere war

我创建了一个包含xhtml页面和托管bean的JSF war文件。它的lib文件夹包含以下jar:

  • myfaces-api-2.2.13.jar
  • myfaces-impl-2.2.13.jar
  • commons-xxxxxx.jar
  • jstl-1.2.jar

当我在Webshpere 8.5.5上部署它时,它工作正常。

我需要在项目中添加primefaces。在war lib文件夹下添加primefaces jar文件(primefaces-6.0.jar)并将其部署到Websphere后,它给了我这个错误:

java.lang.NoSuchMethodError:
  javax/faces/component/UIComponent.getPassThroughAttributes(Z)Ljava/util/Map;

注意:在Eclipse中的Tomcat v7.0上进行测试时,它的工作正常(带有primefaces)。

我通过从Eclipse导出战争来生成战争。

1 个答案:

答案 0 :(得分:0)

您应该按照here说明配置第三方JavaServer Faces实施。看起来您在应用程序中包含了JSF 2.2库。在JSF 2.2 here中添加了无法找到的方法。 WebSphere 8.5.5提供EE6合规性,并提供以下JSF版本:SunRI 1.2和MyFaces 2.0。在这种情况下,似乎需要JSF 2.2实现,很可能应用程序使用传递属性并且需要JSF 2.2库。我最初的想法是,primefaces检测应用程序中的2.2库,但是WebSphere运行时JSF版本正在运行时被拾取,因此错误。