Развернутое приложение Tomcat 7 WAR выдает ошибку NoClassDefFoundError - PullRequest
1 голос
/ 19 января 2011

Я работаю над веб-приложением типа hello-world.Я использую Eclipse Helios в качестве своей IDE, Maven 2 для обработки зависимостей и локально запущенный сервер Tomcat 7 для развертывания и тестирования.Приложение основано на Spring MVC и использует Hibernate для управления данными.

Я могу успешно упаковать проект в WAR-файл.При развертывании WAR в Tomcat в журналах регистрируется следующая ошибка:

SEVERE: сбой инициализации контекста

org.springframework.beans.factory.BeanCreationException: ошибка создания компонентас именем 'hibernateSessionFactory', определенным в ресурсе ServletContext [/WEB-INF/spring-servlet.xml]: сбой вызова метода init;Вложенное исключение - java.lang.NoClassDefFoundError: Не удалось инициализировать класс org.hibernate.cfg.AnnotationConfiguration в

org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactorywanb.Beable.FBspringframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:473) в org.springframework.beans.factory.support. * Абстракция

Я проверил, чтобы убедиться, что в моем POM включена правильная зависимость, и это:

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-annotations</artifactId>
    <version>3.4.0.GA</version>
    <type>jar</type>
    <optional>false</optional>
</dependency>

Я проверил, что в упакованном WAR-файле есть требуемый JAR-файл, в котором указан класс(org.hibernate.cfg.AnnotationConfiguration) в ошибке, и это делает:

. / Tomcat 7 / webapps / helloworld / WEB-INF / lib / hibernate-annotations-3.4.0.GA.jar

Основываясь на этой информации, я полагаю, чтоs может быть проблемой конфигурации classpath.Из документации, которую я прочитал на Tomcat 7, Tomcat должен иметь возможность использовать файлы JAR в папке "/ WEB-INF / lib".Кто-нибудь знает, мог ли я пропустить шаг настройки Tomcat, чтобы он распознавал файлы JAR в папке lib веб-приложения?

1 Ответ

3 голосов
/ 24 января 2011

Я понимаю, что это общий совет, но у меня были подобные проблемы в прошлом с Tomcat и Jetty, и это было потому, что у меня было несколько / неправильных версий некоторой зависимости. Я бы начал с использования редактора POM M2Eclipse в Eclipse, щелкнул «Иерархия зависимостей» и внимательно изучил все переходные зависимости.

...