У меня странная ошибка, которую я искал в alot в Интернете. Я не мог понять, почему я получаю эту ошибку. Я нашел несколько объяснений об этой ошибке весной джиры. У меня есть context:component-scan
в applicationContext.xml
и я определяю 5 пакетов в пакете com.sow.webservices
. Однако, когда я добавить пакет контроллера включая классы контроллеров, я бросаюВесенний контекст: исключение исключения компонентного сканирования
Error occured processing XML '[Ljava.lang.String; cannot be cast to java.lang.String'. See Error Log for more details
Это компонент-сканирование:
<context:component-scan base-package="com.sow.webservices.aop,
com.sow.webservices.exceptions,
com.sow.webservices.models,
com.sow.webservices.services,
com.sow.webservices.controller">
Я хотел бы показать вам весь след исключения. Цените свою помощь.
!ENTRY org.springframework.ide.eclipse.beans.core 1 0 2014-04-11 18:07:39.996
!MESSAGE Error occured processing '/SOW_WS/src/main/webapp/WEB-INF/applicationContext.xml'
!STACK 0
java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String
at org.springframework.context.annotation.AnnotationBeanNameGenerator.determineBeanNameFromAnnotation(AnnotationBeanNameGenerator.java:92)
at org.springframework.context.annotation.AnnotationBeanNameGenerator.generateBeanName(AnnotationBeanNameGenerator.java:70)
at org.springframework.context.annotation.ClassPathBeanDefinitionScanner.doScan(ClassPathBeanDefinitionScanner.java:247)
at org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse(ComponentScanBeanDefinitionParser.java:85)
at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:74)
at org.springframework.ide.eclipse.beans.core.internal.model.namespaces.DelegatingNamespaceHandlerResolver$ElementTrackingNamespaceHandler.parse(DelegatingNamespaceHandlerResolver.java:177)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1427)
at org.springframework.ide.eclipse.beans.core.internal.model.BeansConfig$ErrorSuppressingBeanDefinitionParserDelegate.parseCustomElement(BeansConfig.java:1400)
at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1417)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:187)
at org.springframework.ide.eclipse.beans.core.internal.model.BeansConfig$ToolingFriendlyBeanDefinitionDocumentReader.doRegisterBeanDefinitions(BeansConfig.java:1330)
at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:110)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:494)
at org.springframework.ide.eclipse.beans.core.internal.model.BeansConfig$2.registerBeanDefinitions(BeansConfig.java:402)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:391)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:335)
at org.springframework.ide.eclipse.beans.core.internal.model.BeansConfig$2.loadBeanDefinitions(BeansConfig.java:388)
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303)
at org.springframework.ide.eclipse.beans.core.internal.model.BeansConfig$3.call(BeansConfig.java:445)
at org.springframework.ide.eclipse.beans.core.internal.model.BeansConfig$3.call(BeansConfig.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Даже если XML выдает это исключение, я могу запустить мое приложение, но когда я удалить com.sow.webservices.controller
он прекращает показ есть ошибка знак, но он дает ошибку 404. Поскольку у меня проблемы с компонентным сканированием, LocaleChangeInterceptor не работает, и я не могу интернационализировать свое приложение.
Просто подумайте, если это 5 пакетов, которые у вас есть, и нет фильтров, почему бы вам не оставить базовый пакет как «com.sow.webservices», а не упомянуть все это? – Prasad
Какую версию весны вы используете? Вы упомянули Spring JIRA и, да, действительно, проблема была отмечена и исправлена (https://jira.spring.io/browse/SPR-11221). Вы пробовали с версиями Spring, которые фиксировали эту проблему JIRA? –
@Prasad, он все еще находится в разработке, у меня может быть пакет anohter, содержащий sometrhing под «com.sow» вместо «com.sow.webservices». AndreiStefan, да, прежде чем я использовал 4.0.2, но после прочтения этой проблемы я перешел на 4.0.3 – Emilla