ClassNotFoundException из зависимости maven, но класс существует и находится в пути к классам - PullRequest
2 голосов
/ 23 сентября 2019

После многих дней поиска аналогичной проблемы и ее решения в Интернете, я теперь прошу вашей помощи.

Прежде всего, я работаю с:

Java8 (openjdk), Maven 3, Tomcat 8.5 и я использую Eclipse-2019-09 в качестве своей IDE.

Для этого проекта я строю войну с maven, добавляя ресурс на сервер Tomcatи запустите его.

Теперь проблема заключается в том, что всякий раз, когда я пытаюсь запустить свой сервер Tomcat, я получаю эту ошибку:

Caused by: java.lang.ClassNotFoundException: org.codehaus.stax2.ri.Stax2EventFactoryImpl
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

Изменить: точнее, эта ошибка добавляется, когдабоб создается.Имя компонента - "sessionFactory", а его класс: org.springframework.orm.hibernate5.LocalSessionFactoryBean

Сначала я подумал, что Eclipse не разрешает зависимость stax2, но когда я посмотрел в пути к классам,зависимость была там.(Как вы можете видеть на картинке ниже)

зависимость в представлении Eclipse pom.xml

Поэтому я подумал, что, возможно, банка не содержит требуемый класс, но все же,при открытии банки в навигаторе там есть класс.

открыл банку в навигаторе

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

класс существует в файле войны

Итак, ЧтоЯ пробовал:

  • Maven> Обновление проектов, Очистка / Восстановление проекта, Maven очистка / установка и компиляция проекта, очистка рабочего каталога tomcat, повторная публикация и т. Д.

  • Удалите / переустановите Eclipse, удалив все скрытые папки.

  • Удалить проект, клонировать его в новую новую рабочую область.

  • Изменена версия stax2 в моем pom.xml

  • Проверено, отсутствует ли баночка в развернутой войне

  • Удален мой .m2 / хранилище

  • Загружен файлstax2-api как первая зависимость в моем pom.xml

Странно то, что всякий раз, когда я клонирую проект на рабочем компьютере, он может скомпилировать / запустить сервер без каких-либо исключений..

Я немного растерян, должен признаться, потратил много времени на поиск ответов на форумах, но все, что я пробовал, привело к ошибке.

Что ж, спасибо, что прочитали меня,если у кого-то есть идеи, дайте мне знать.

...