DispatcherServlet - Ошибка инициализации контекста в проекте Roo

Я разрабатываю проект Roo и развертываю его на сервере Tomcat 6. До сих пор все работало нормально.

Я удалил и снова добавил объект.

Теперь каждый раз, когда я запускаю Tomcat, я получаю это исключение в Spring Tool Suite:

SEVERE: StandardWrapper.Throwable
Throwable occurred: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping#0': Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.handler.MappedInterceptor#0': Cannot create inner bean '(inner bean)' of type [org.springframework.web.servlet.handler.ConversionServiceExposingInterceptor] while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Cannot resolve reference to bean 'applicationConversionService' while setting constructor argument; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [myproject.web.ApplicationConversionServiceFactoryBean] for bean with name 'applicationConversionService' defined in ServletContext resource [/WEB-INF/spring/webmvc-config.xml]; nested exception is java.lang.ClassNotFoundException: myproject.web.ApplicationConversionServiceFactoryBean
Related cause: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [myproject.web.ApplicationConversionServiceFactoryBean] for bean with name 'applicationConversionService' defined in ServletContext resource [/WEB-INF/spring/webmvc-config.xml]; nested exception is java.lang.ClassNotFoundException: myproject.web.ApplicationConversionServiceFactoryBean
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
...

Что мне нужно сделать, чтобы он снова заработал?


person Hedge    schedule 28.07.2011    source источник


Ответы (5)


spring - это жалоба на то, что bean-компонент недоступен (вероятно, тот, который вы сказали, что удалили).

 exception is java.lang.ClassNotFoundException: myproject.web.ApplicationConversionServiceFactoryBean

попробуйте выполнить поиск в файлах конфигурации xml и удалить ссылку на этот класс, после этого все должно вернуться,

person Anantha Sharma    schedule 28.07.2011
comment
Этот класс создан Roo, поэтому я не хотел с ним связываться. Я удалил ссылку в webmvc-config.xml, но все еще есть ошибка с другим классом: org.springframework.beans.factory.BeanCreationException: Ошибка создания bean с именем 'org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping # 0': инициализация bean-компонента не удалась; вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка при создании bean-компонента с именем org.springframework.web.servlet.handler.MappedInterceptor # 0: невозможно создать внутренний bean-компонент (внутренний bean-компонент). - person Hedge; 28.07.2011
comment
у вас есть тег, который выглядит примерно так <bean ....> <property name="something"> <ref> <bean class="class which has been removed"></ref> </property> </bean> .. все, что вам нужно сделать, это удалить эту ссылку - person Anantha Sharma; 28.07.2011
comment
пожалуйста, проверьте конфигурацию .. должен быть другой экземпляр такой же или похожей конфигурации. - person Anantha Sharma; 29.07.2011

У меня была такая же проблема. Проблема заключалась в том, что я отключил функцию «Проект> Автоматическая сборка», поэтому мне пришлось вручную собрать проект. Как только я вручную собрал проект, все вернулось в норму. :)

Поэтому не забудьте собрать проект перед его развертыванием или просто повторно включите функцию «Проект> Автоматическая сборка».

Надеюсь, поможет.

person user3178907    schedule 09.01.2014

В вашем приложении, развернутом в Tomcat, нет файла jar в WEB-INF / lib, который содержит класс myproject.web.ApplicationConversionServiceFactoryBean. Я не знаю, что это за класс и где вы его найдете, но он отсутствует.

person Ryan Stewart    schedule 28.07.2011
comment
Обычно это что-то автоматически генерируется Roo. - person Hedge; 28.07.2011

мой обходной путь (работал с eclipse и roo 1.1.5 как плагин eclipse)

  • открыть класс ApplicationConversionServiceFactoryBean.java
  • удалить аннотацию класса @RooConversionService
  • подождите обновления roo
  • добавить аннотацию к классу @RooConversionService
  • дождитесь обновления roo и попробуйте еще раз
person wsx22    schedule 13.09.2011

Внутри STS щелкните -> проект-> очистить. Очистить и отменить все проблемы сборки и состояния сборки. В следующий раз, когда произойдет сборка, проекты будут перестроены с нуля.

person Ezequiel Hdez.    schedule 10.04.2013