Вставить tomcat не может загрузить класс DeclareRoles внутри - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть Java-приложение на основе maven.В настоящее время мы пытаемся обновить Tomcat 7 до Tomcat 9.0.14.Мы используем встроенный tomcat (фиктивный сервер) на этапе тестирования интеграции.Проблема заключается в том, что Tomcat 9 не загружает правильный класс DeclareRoles из jar-файла tomcat-annotation, который сам является частью основного jar-файла tomcat-embed.Он загружает DeclareRoles из файла jar com.sun.xml.ws:servlet.Я получаю следующее исключение: -

Caused by: java.lang.NoClassDefFoundError: javax/annotation/security/DeclareRoles
    at org.apache.catalina.startup.WebAnnotationSet.loadClassAnnotation(WebAnnotationSet.java:258)
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(WebAnnotationSet.java:88)

Я попытался добавить jar-файл tomcat-annotations в начало зависимости, но безуспешно.Это работает нормально, если я помещаю tomcat-annotation jar в папку jre / lib / ext.Понятно, что проблема с загрузкой правильного файла класса, но как?Мы используем Reflection для запуска встроенного сервера.Так что я не уверен, сможем ли мы это исправить с помощью Maven, похоже, Java должен корректно загружать классы.

Class<?> mockHubServerClazz = this.classLoader.loadClass(MockHubServer.class.getName());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...