Невозможно привести к классу, потому что они находятся в безымянном модуле загрузчика 'app'
Я пытаюсь создать компонент из источников, сгенерированных wsdl2java
.
Каждый раз, когда я пытаюсь запустить приложение Spring Boot, я получаю следующую ошибку:
Вызывается: java.lang.ClassCastException: class org.apache.cxf.endpoint.ClientImpl не может быть приведен к классу com.xignite.services.XigniteCurrenciesSoap(org.apache.cxf.endpoint.ClientImpl и com.xignite.services.XigniteCurrenciesSoap находятся в неназванном модуле загрузчик "приложение")
Я не уверен, как именно я должен включать сгенерированные источники в мое основное приложение 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)
- Spring Boot 2.1.2.RELEASE
- Gradle 5.2
Я также загрузил проект на Github здесь: https://github.com/ciscoo/soap-consumption-spring-boot
Ответы
Ответ 1
У меня был похожий случай, и (как упомянуто @Holger в комментарии) информация о модуле в сообщении просто вводит в заблуждение - это фактический случай попытки привести что-то к чему-то, что ему не соответствует.
В вашем случае ClientImpl
просто не является подтипом XigniteCurrenciesSoap
.