인터넷에서 많이 검색 한 이상한 오류가 있습니다. 왜 내가이 오류가 발생하는지 파악할 수 없었습니다. 스프링 jira에서 그 오류에 대한 설명을 발견했습니다. 나는 context:component-scan
을 applicationContext.xml
에 넣었고 나는 com.sow.webservices
패키지에 5 개의 패키지를 정의했다. 내가 당신에게 전체 예외 추적을 보여 드리고자합니다스프링 컨텍스트 : 구성 요소 스캔 캐스팅 예외
<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">
: 내가 컨트롤러 클래스를 포함 컨트롤러 패키지를 추가 할 때 그러나, 나는
Error occured processing XML '[Ljava.lang.String; cannot be cast to java.lang.String'. See Error Log for more details
이것은 구성 요소 검사를 던졌습니다. 도움을 청합니다.
!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 오류를 제공합니다. Component scan과 관련하여 LocaleChangeInterceptor가 작동하지 않고 응용 프로그램을 국제화 할 수 없습니다.
5 개의 패키지가 있고 필터가없는 경우 기본 패키지를 모두 언급하는 대신 기본 패키지를 "com.sow.webservices"로 유지하는 것이 좋습니다. – Prasad
어떤 버전의 Spring을 사용하고 있습니까? Spring JIRA에 대해 언급 하셨고, 실제로,보고되고 수정 된 문제가 있습니다 (https://jira.spring.io/browse/SPR-11221). JIRA 문제를 해결 한 Spring 버전을 사용해 보셨습니까? –
@Prasad, 아직 개발 중이므로 'com.sow.webservices'대신 'com.sow'아래에 sometrhing을 포함하는 anohter 패키지가있을 수 있습니다. AndreiStefan, 4.0.2를 사용하기 전에 예.하지만 4.0.3 – Emilla