java - 无法转换为类 - 它们位于加载程序 'app' 的未命名模块中

标签 java spring-boot java-9 java-module

我正在尝试从 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/

相关文章:

Java - 调用取消后重用计时器对象

java - Java代码中有没有获取Zipkin的TraceId的方法

java - Android - 如果语句不执行

java - 如何安全地扫描整数输入?

java - 初始化 FingerpringManager.Crypto 对象,获取不受 AndroidKeyStore 提供程序支持的 Crypto 原语?

java - ignite 不会随 spring-boot 2.0.5 启动 - h2 属性 NESTED_JOINS 不存在

java - Spring Boot Actuator 不工作 - 白标错误页面

Java 9 react 流 : does one Subscriber belong to one Publisher

java - 正则表达式或字符串操作从字符串派生自动模块名称

java - 我怎样才能获得 JAVA 9 JRE/JDK 作为 zip 文件而不是 EXE 或 MSI 安装程序?