barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

четверг, 1 сентября 2011 г.

java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration

Проблема:
при попытке деплоя веб-сервиса на tomcat вываливается исключение типа: "com.sun.xml.ws.transport.http.servlet.WSServletException: WSSERVLET11: failed to parse runtime descriptor: java.lang.ClassCastException: org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to org.apache.xerces.xni.parser.XMLParserConfiguration".
Причина:
версия библиотеки Xerces API, используемая tomcat`ом, отличается от той, с которой собран war-ник.
Решение:
  • Удалить из war-ника библиотеку xerces-impl.jar вообще, если она не используется в коде веб-сервиса
  • Используя механизм endorsed-direcory, заставить сервер использовать необходимую версию   Xerces API (как это сделать, описано тут: http://barbitoff.blogspot.com/2011/09/axb-20-api-is-being-loaded-from.html)  

Комментариев нет:

Отправить комментарий