osgi - 已解决 - Eclipse 4 产品从 Oxygen 迁移到 Eclipse 2020-06:ClassNotFoundException
问题描述
我将 Eclipse 4 产品从 Oxygen 迁移到 Eclipse 2020-06。当某些插件尝试使用反射加载类时,我得到了 ClassNotFoundException。在产品的氧气版本中一切都很好。
以 cxf 为例,即 org.apache.cxf.cxf-core,尝试加载 org.objectweb.asm.ClassWriter 类。
这个类在 org.objectweb.asm 包中。
ClassNotFoundException 的这个问题并不特定于 org.apache.cxf.cxf-core 包。我对其他捆绑包也有类似的问题。
我比较了 Oxygen 版本和 Eclipse 2020-06 版本之间的类加载,但没有发现问题。
两个版本都使用了两个相同的 ClassLoader:
- org.eclipse.osgi.internal.framework.ContextFinder
- org.eclipse.osgi.internal.loader.EquinoxClassLoader
两个产品的JDK版本相同:JDK8。
有人对类加载有类似的问题吗?
感谢帮助
——菲利普
解决方案
解决方案:问题是由于 cxf 插件和 asm 插件之间的版本不兼容。我们通过更新目标平台中的 cxf 版本解决了这个问题。
推荐阅读
- c# - 在 WPF 应用程序中,如何使事件只响应用户操作?
- apl - 在 Dyalog APL 中加载 DyalogTutor_EN 工作区时出错,如何继续?
- javascript - 如何在多个异步请求中使用 js async/await
- shopify - 如何使用液体模板将 System.DateTime 数据转换为 String yyyy-mm-dd 格式?
- python - 如何在 nltk POS 数据上应用 TFIDF .....?
- arrays - 如何在颤振中解析json?
- kubernetes - 尝试推送到不安全的私有 docker 注册表时检查推送权限时出错
- javascript - 使用 StandardJS,仅在“else”语句的错误行上出现花括号错误
- excel - 如何在 InputBox 中输入换行符
- css - 导航通过角度路由器后导航未关闭