我们正在将 osgi 应用程序的开发环境从 JAVA8 编译迁移到 JAVA 11 编译。
目前,该应用程序在 java8 编译和 java11 运行时执行时运行良好。
我们在 Java 11 中编译代码并进行部署时,它给我们以下错误:
Caused by: java.lang.ClassCastException: class .ClassA cannot be cast to class [B (.ClassA is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @7112dbb8; [B 在模块 java.加载程序“bootstrap”的基础) 在 .ConsumerClass.getKey(ConsumerClass.java:94) 在.ProcessEventsActivity.processEvents(ProcessEventsActivity.java:129) 在 jdk.internal.reflect.GeneratedMethodAccessor125.invoke(未知来源) 在 java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(删除....
工作环境和非工作环境之间的唯一区别是在非工作环境下在java 11上的编译。 请在这里提出根本原因和可能的前进方向。
谢谢