클래스에 캐스팅할 수 없습니다. 이름이 없는 로더 '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;
코드에서 어디서 그런 짓을 했는지 알아내서 고쳐야 해
저도 같은 문제가 있었어요.제 경우엔 이미 다른 곳에서 같은 이름의 수업이 있었던 것이 문제였습니다.그러니 반 이름을 바꿔보세요.
나는 예외 없이 아주 비슷해지고 있었다.
java.lang.ClassCastException: class [B cannot be cast to class org.apache.avro.generic.GenericRecord ([B is in module java.base of loader 'bootstrap'; org.apache.avro.generic.GenericRecord is in unnamed module of loader org.springframework.boot.loader.LaunchedURLClassLoader
근본 원인은 내 Gradle 종속성이 제외 스테이트먼트를 가지고 있었기 때문입니다.
exclude group: 'org.springframework.cloud', module: 'spring-cloud-stram-binder-kafka',
아래와 같이 코멘트를 드렸더니, 그 후는 정상적으로 동작하고 있습니다.
implementation ('com.xyz.lux:lux-acitor:1.25.0') {
//exclude group: 'org.springframework.cloud', module: 'spring-cloud-stream-binder-kafka'
exclude group: 'org.slf4j', module: 'slf4j-reload4j'
exclude group: 'io.confluent', module: 'confluent-log4j'
}
언급URL : https://stackoverflow.com/questions/54536895/cannot-be-cast-to-class-they-are-in-unnamed-module-of-loader-app
'programing' 카테고리의 다른 글
PHP를 사용하여 현재 페이지의 전체 URL을 가져오는 방법 (0) | 2023.04.02 |
---|---|
JSON 객체에서 모든 키를 얻는 방법(Javascript) (0) | 2023.04.02 |
angular.grid를 작성하기 위한 ng-timeout (0) | 2023.04.02 |
각도란글로벌 키보드 단축키를 만드는 JS 방법 (0) | 2023.04.02 |
WordPress RSS 피드를 표시하는 방법 (0) | 2023.04.02 |