Проблема:
при попытке деплоя веб-сервиса на tomcat вываливается исключение типа:
при попытке деплоя веб-сервиса на tomcat вываливается исключение типа:
JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/C:/++tomcat/webapps/testWS/WEB-INF/lib/jaxb-impl.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/)
Причина:
версия библиотеки JAXB, используемая tomcat`ом, отличается от той, с которой собран war-ник (в данном случае, томкат использует 2.0, а веб-сервис использует 2.1).
версия библиотеки JAXB, используемая tomcat`ом, отличается от той, с которой собран war-ник (в данном случае, томкат использует 2.0, а веб-сервис использует 2.1).
Решение:
Вариант 1: Обновить JDK, используемый сервером, до версии, которая использует более новую JAXB.
- В какую-то диреторию положить необходимую для веб-сервиса версию библиотеки jaxb-api.jar
- Далее либо установить переменную окружения JAVA_ENDORSED_DIRS с путем к этой директории, либо залезть в catalina.bat (или sh), запускающий tomcat, и поменять в нём
-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%"
на
-Djava.endorsed.dirs="/path/to/my/endorsed/dir"
Jar-ники из этой директории будут переопределять те, которые используются jdk`ем по-умолчанию.
Комментариев нет:
Отправить комментарий