ICEFaces 1.7.2 и сервер приложений 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 и изменение схем загрузчика классов с «Родительский последний» на «Родительский первый».

Но что бы я ни делал, в WAS7 я получаю MultipartFacesContextFactoryImpl как значение contextFactory.

Я попытался заменить 1.7.2 на 1.8 версию icefaces.jar и icefaces-comps.jar. Но все тот же результат.

Пожалуйста помоги. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.


person IamSch    schedule 20.06.2011    source источник


Ответы (1)


Возможно, WAS6 использовала Java 5 как родную, а WAS7 использует Java 6. Попробуйте перекомпилировать свои классы с помощью Java 6.

person user812852    schedule 14.07.2011