当我尝试调用我的一项 Web 服务时,我在 Websphere 9 中针对部署为 EAR 文件的 Java 应用程序遇到此错误。
由以下原因引起:java.lang.LinkageError:ClassCastException:尝试将bundleresource://265.fwk-1702970980/javax/ws/rs/client/ClientBuilder.class转换为wsjar:file:/opt/app/was/WebSphere/AppServer/profiles/prctstwas01/installedApps/lsp7288cNode01Cell/OurApplicaton.ear/OurApplicationWeb.war/WEB-INF/lib/integration-commons
我明白这个错误是什么,我通过将我的ear文件中的war文件的类加载器设置为父级来解决它,如果有人搜索这个错误想知道如何解决它。但我不明白类的第一个版本 65.fwk-1702970980/javax/ws/rs/client/ClientBuilder.class 来自何处。
有谁知道捆绑资源://265.fwk-1702970980指的是什么?我想这也是与我的 war 文件捆绑在一起的类的一个版本?它看起来不像来自应用程序服务器。
最佳答案
bundleresource
URL 来自 OSGi 类加载器。就 WebSphere 而言,这通常意味着它们是由服务器提供的,因为基本上整个服务器运行时都在 OSGi 中运行。 265.fwk-1702970980
是 bundle 的内部名称 - 如果您使用 OSGi 控制台列出 bundle ,则 JAX-RS API bundle 可能是 bundle 编号 265。
关于Websphere 9 中 Java 耳文件的 Java.lang.LinkageError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61753690/