IllegalArgumentException:com.ibm.ws.jsf.config.annotation.WASMyFacesAnnotationProvider is no org.apache.myfaces.spi.AnnotationProvider

时间:2013-11-22 14:05:42

标签: jsf websphere jsf-2.2 myfaces

我正在尝试在Websphere 8.5.5上部署应用程序 我为Websphere创建了一个共享库,其中包括myfaces 2.2 jar和其他依赖项,如commons-collections。 我还将我的应用程序的类加载器设置为PARENT_LAST 当我部署应用程序时,我得到了这个例外:

An error occured while initializing MyFaces: Class com.ibm.ws.jsf.config.annotation.WASMyFacesAnnotationProvider is no org.apache.myfaces.spi.AnnotationProvider
java.lang.IllegalArgumentException: Class com.ibm.ws.jsf.config.annotation.WASMyFacesAnnotationProvider is no org.apache.myfaces.spi.AnnotationProvider
at org.apache.myfaces.shared.util.ClassUtils.buildApplicationObject(ClassUtils.java:557)
at org.apache.myfaces.shared.util.ClassUtils.buildApplicationObject(ClassUtils.java:524)

1 个答案:

答案 0 :(得分:1)

我正在考虑在WAS 8.5.5上运行更新版本的MyFaces,并遇到了类似的问题。这似乎是IBM编写的支持其嵌入式MyFaces版本的代码与应用程序或共享库提供的MyFaces之间的冲突。

IBM提供了一种绕过这个问题的方法。当WAS 8.0发布时,它提供了一个功能,允许选择" SunRI1.2"或者" MyFaces"作为服务器提供的JSF。将默认值设置为" SunRI1.2"将从类路径中删除服务器提供的MyFaces,并允许开发人员提供自己的。

  1. 选择任何应用程序
  2. 点击 JSP和JSF选项
  3. JSF实施部分中,将下拉菜单更改为 SunRI1.2
  4. 点击确定
  5. 保存配置并重新启动服务器