2014-02-21 2 views
0

Код, который я использую с Hibernate, отлично работает, когда он вызывается другим классом, если я правильно схожу с классом и запускаюсь как приложение Java.Hibernate java.lang.ExceptionInInitializerError при запуске в веб-приложении/сервлете

Однако, если у меня есть сервлет, вызывающий тот же код, когда сервлет работает в веб-приложении, возникает исключение: java.lang.ExceptionInInitializerError.

В чем разница между запуском одного и того же Java-кода (включая Hibernate) между вызовом его из класса напрямую (Запуск от Java-приложения) и вызовом его из сервлета в веб-приложении?

Как я могу это решить? Благодаря!

+0

Не могли бы вы объяснить более подробно своим кодом – 9ine

+0

Вы должны проверить журналы сервера. Вы используете tomcat? Вероятно, это в/var/logs/tomcat7/catalina или что-то – jmpyle771

ответ

0

Обычно ошибка исключения ExceptionInInitializerError выбрасывается из статического блока инициализатора. И при использовании Hibernate многие предпочитают создавать SessionFactory в статическом блоке инициализатора, и если создание не удается по какой-либо причине, генерируется ExceptionInInitializerError.

Как вы сказали, ваш код запускается из вашей среды IDE самостоятельно, но имеет проблемы при доступе к нему из контейнера. Итак, кажется, что вам не хватает некоторых библиотек Hibernate в вашем файле war/ear.

Проверьте, все ли зависимости включены в ваш архив веб-приложений.

Смежные вопросы