我正在尝试在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)
答案 0 :(得分:1)
我正在考虑在WAS 8.5.5上运行更新版本的MyFaces,并遇到了类似的问题。这似乎是IBM编写的支持其嵌入式MyFaces版本的代码与应用程序或共享库提供的MyFaces之间的冲突。
IBM提供了一种绕过这个问题的方法。当WAS 8.0发布时,它提供了一个功能,允许选择" SunRI1.2"或者" MyFaces"作为服务器提供的JSF。将默认值设置为" SunRI1.2"将从类路径中删除服务器提供的MyFaces,并允许开发人员提供自己的。