Я работаю над веб-приложением типа привет-мир. Я использую Eclipse Helios в качестве среды IDE, Maven 2 для обработки зависимостей и локальный сервер Tomcat 7 для развертывания и тестирования. Приложение основано на Spring MVC и использует Hibernate для управления данными.
Я могу успешно упаковать проект в файл WAR. Когда я развертываю WAR в Tomcat, в журналах сообщается о следующей ошибке:
СЕРЬЕЗНО: не удалось инициализировать контекст
org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем «hibernateSessionFactory», определенным в ресурсе ServletContext [/WEB-INF/spring-servlet.xml]: не удалось вызвать метод инициализации; вложенным исключением является java.lang.NoClassDefFoundError: не удалось инициализировать класс org.hibernate.cfg.AnnotationConfiguration в
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473) в org.springframework.beans support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409) и т. д.
Я проверил, чтобы убедиться, что правильная зависимость включена в мой 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
Основываясь на этой информации, я полагаю, что это может быть проблема с конфигурацией пути к классам. Из документации, которую я прочитал на Tomcat 7, Tomcat должен иметь возможность использовать файлы JAR в папке «/WEB-INF/lib». Кто-нибудь знает, возможно, я пропустил шаг в настройке Tomcat, чтобы он распознал файлы JAR в папке lib веб-приложения?