Мы недавно мигрировали с 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.
Я попробовал несколько предложений, таких как создание Shared Lib и его привязка к EAR и изменение схем загрузчика классов с «Parent Last» на «Parent First».
Но независимо от того, что я делаю, в WAS7Я получаю MultipartFacesContextFactoryImpl в качестве значения contextFactory.
Я попытался заменить 1.7.2 на версию 1.8 icefaces.jar и icefaces-comps.jar.Но все тот же результат.
Пожалуйста, помогите.Пожалуйста, дайте мне знать, если вам нужно больше деталей.