我們最近從WAS6遷移到WAS7。我們的應用程序之一,在WAS6中工作得非常好,在WAS7中無法正常工作,並出現以下錯誤。ICEFaces 1.7.2和Websphere Application Server 7
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應用VS WAS7 contextfactory:com.ibm.faces.context.MultipartFacesContextFactoryImpl - JSF -IBM.jar - WAS7 contextfactory:com.icesoft.faces.context.FacesContextFactoryImpl - icefaces.jar - WAS6
我嘗試了一些建議,如創建共享庫並將其關聯到EAR並更改類加載器方案從「父最後」到「父母第一」。
但無論我做什麼,在WAS7中我都將MultipartFacesContextFactoryImpl作爲contextFactory的值。
我試着用1.8版本的icefaces.jar和icefaces-comps.jar替換1.7.2。但仍然是相同的結果。
請幫忙。如果您需要更多詳細信息,請告訴我。