我正在尝试从 wsdl2java
生成的源创建一个 bean .
每次我尝试运行 Spring Boot 应用程序时,都会收到以下错误:
Caused by: java.lang.ClassCastException: class org.apache.cxf.endpoint.ClientImpl cannot be cast to class com.xignite.services.XigniteCurrenciesSoap (org.apache.cxf.endpoint.ClientImpl and com.xignite.services.XigniteCurrenciesSoap are in unnamed module of loader '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)
- Spring Boot 2.1.2.RELEASE
- Gradle 5.2
我还将该项目上传到了 Github:https://github.com/ciscoo/soap-consumption-spring-boot
最佳答案
我有一个类似的案例,并且(正如 @Holger 在评论中提到的)消息中的模块信息只是误导 - 这是尝试将某些内容转换为不匹配的内容的实际案例。
就您而言,ClientImpl
根本不是 XigniteCurrencySoap
的子类型。
关于java - 无法转换为类 - 它们位于加载程序 'app' 的未命名模块中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54536895/