ICEFaces 1.7.2和Websphere Application Server 7

时间:2011-06-20 18:59:26

标签: java icefaces websphere-7

我们最近从WAS6迁移到WAS7。我们的一个应用程序在WAS6中运行得非常好,但在WAS7中无效,并出现以下错误。

java.lang.NoSuchMethodError: com/sun/faces/util/Util.verifyFactoriesAndInitDefaultRenderKit(Ljavax/servlet/ServletContext;)V
at com.ibm.faces.context.MultipartFacesContextFactoryImpl.getFacesContext(MultipartFacesContextFactoryImpl.java:73)  

提供该错误的代码片段是

FacesContextFactory contextFactory  = (FacesContextFactory)
             FactoryFinder.getFactory(FactoryFinder.FACES_CONTEXT_FACTORY);
         facesContext = contextFactory.getFacesContext(
             request.getSession().getServletContext(), request, response, lifecycle);

在WAS6与WAS7中调试应用程序时发现这些信息     contextfactory:com.ibm.faces.context.MultipartFacesContextFactoryImpl - JSF-IBM.jar - WAS7     contextfactory:com.icesoft.faces.context.FacesContextFactoryImpl - icefaces.jar - WAS6

我尝试了一些建议,比如创建一个共享库并将其关联到EAR并将类加载器方案从“Parent Last”更改为“Parent First”。

但不管我做什么,在WAS7中,我将MultipartFacesContextFactoryImpl作为contextFactory的值。

我尝试用1.8版本的icefaces.jar和icefaces-comps.jar替换1.7.2。但结果仍然相同。

请帮忙。如果您需要更多详细信息,请与我们联系。

1 个答案:

答案 0 :(得分:0)

可能是WAS6使用Java 5作为本机,而WAS7使用Java 6.尝试使用Java 6重新编译类。