이름이 없는 로더 'app' 모듈에 있으므로 클래스에 캐스팅할 수 없습니다.
에서 생성된 소스에서 빈을 생성하려고 합니다.
Spring Boot 앱을 실행하려고 할 때마다 다음 오류가 나타납니다.
원인: java.lang.ClassCastException : class org.apache.cxf.endpoint.ClientImpl을 클래스 com에 캐스팅할 수 없습니다.시그나이트서비스를 제공합니다.Xignite 통화Soap(또는.apache.cxf.endpoint).ClientImpl 및 com.시그나이트서비스를 제공합니다.Xignite 통화Soap은 로더 'app'의 이름 없는 모듈에 있습니다.)
메인 Spring Boot 어플리케이션에 생성된 소스를 모듈로 포함시키는 방법을 정확히 모르겠습니다.
디렉토리 구조는 다음과 같습니다.
├── build
│ └── generatedsources
│ └── src
│ └── main
│ └── java
│ └── com
│ └── xignite
│ └── services
│
└── src
└── main
├── java
│ └── io
│ └── mateo
│ └── stackoverflow
│ └── soapconsumption
└── resources
└── wsdls
관련 시스템 정보:
openjdk version "11.0.1" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.1+13)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.1+13, mixed mode)
- 스프링 부트 2.1.2풀어주다
- 그라들 5.2
프로젝트도 Github에 업로드했습니다.https://github.com/ciscoo/soap-consumption-spring-boot
비슷한 케이스가 있었습니다만, (@Holger가 코멘트에서 언급했듯이) 메시지 내의 모듈 정보는 단순히 오해를 불러일으킬 뿐입니다.이것은, 일치하지 않는 것에 무언가를 캐스트 하려고 하는 실제의 경우입니다.
당신의 경우,ClientImpl
단순히 아형이 아니다XigniteCurrenciesSoap
.
스택 트레이스에서는 캐스트한 것을 알려주고 있습니다.XigniteCurrenciesSoap
로.ClientImpl
.
다음 예시와 같습니다.
Object returnObj= getXigniteCurrenciesSoap();
return (ClientImpl) returnObj;
코드에서 어디서 그런 짓을 했는지 알아내서 고쳐야 해
저도 같은 문제가 있었어요.제 경우엔 이미 다른 곳에서 같은 이름의 수업이 있었던 것이 문제였습니다.그러니 반 이름을 바꿔보세요.
언급URL : https://stackoverflow.com/questions/54536895/cannot-be-cast-to-class-because-they-are-in-unnamed-module-of-loader-app
'programing' 카테고리의 다른 글
버튼을 클릭하면 열리는 새 브라우저 창으로 전환하는 방법 (0) | 2023.01.27 |
---|---|
Importorr: libmariadbclient.so18: 공유 개체 파일을 열 수 없습니다.해당 파일 또는 디렉터리가 없습니다. (0) | 2023.01.27 |
JSON 구문 분석 중 "예기치 않은 토큰 o" 오류가 발생했습니다. (0) | 2023.01.27 |
노드에서 상수를 공유하는 방법JS 모듈? (0) | 2023.01.27 |
이클립스로 어떻게 돌아가? (0) | 2023.01.27 |