java.lang.NoClassDefFoundError: org / springframework / web / context / ContextCleanupListener - PullRequest
4 голосов
/ 17 ноября 2011

У меня есть веб-приложение, созданное с использованием Spring Framework. Я пытаюсь развернуть это на Tomcat6 с помощью Eclipse. Каждый раз, когда я вносил изменения в файл JSP, мне приходилось чистить сборку, публиковать ее и затем запускать сервер. Я считаю, что мы не должны делать все эти шаги для изменений JSP. Если я просто публикую файлы, когда сервер работает, я получаю следующие исключения

SEVERE: исключение, посылающее событие уничтожения контекста экземпляру слушателя класса org.springframework.web.context.ContextLoaderListener java.lang.NoClassDefFoundError: org / springframework / web / context / ContextCleanupListener

SEVERE: исключение, посылающее событие уничтожения контекста экземпляру слушателя класса org.springframework.web.util.Log4jConfigListener java.lang.NoClassDefFoundError: org / springframework / util / Log4jConfigurer

И файл войны не развертывается на сервере.

Если я внесу изменения в файл JSP и затем нажму «Перезагрузить» в eclipse, он иногда публикует файлы и затем запускает сервер. Но в некоторых случаях он перезагружает сервер и затем публикует файлы (в этом случае я получил вышеупомянутые исключения, и файл войны не был развернут).

В идеале, остановите сервер, опубликуйте его содержимое и запустите сервер. Я ненавижу делать это каждый раз, когда я делаю простые изменения JSP. Есть ли альтернативный процесс одним щелчком мыши, чтобы сделать это?

Ответы [ 3 ]

1 голос
/ 17 ноября 2011

Что-то не так с настройкой вашего проекта или сервера в Eclipse. Я бы рекомендовал следовать инструкциям здесь . Кроме того, вы можете загрузить STS (Eclipse уже поставляется с поддержкой Spring) и использовать его вместо ванильного затмения.

1 голос
/ 18 ноября 2011

Убедитесь, что пружина развернута вместе с вашим приложением. Либо установите правильные параметры экспорта в eclipse, либо скопируйте пружинные библиотеки в /WEB-INF/lib.

.

MyEclipse отлично работает здесь. Вы также можете проверить JRebel . Они не рекламируют передислокации. ;)

0 голосов
/ 17 ноября 2011

вы можете использовать взрывную войну и инкрементное горячее развертывание.

это должно работать http://www.youtube.com/watch?v=OMtcjgTyP-g

в 2:30

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...