OSGi捆绑包无法启动-无法解析sun.reflect.generics.reflectiveObjects

OSGi捆绑包无法启动-无法解析sun.reflect.generics.reflectiveObjects,第1张

OSGi捆绑包无法启动-无法解析sun.reflect.generics.reflectiveObjects

软件包

sun.reflect.generics.reflectiveObjects
是JDK的一部分,但不是Java
API的一部分,如Oracle有关Java 7兼容性的文档中所述

这些

sun.*
软件包 不是受支持的public接口的一部分
sun.*
不能保证直接调用程序包的Java程序可以在所有与Java兼容的平台上运行。实际上,即使在同一平台上的将来版本中,也无法保证此类程序可以正常工作。

这就解释了为什么软件包不是由基础AEM的Apache Felix中的 System
捆绑软件导出的。确实是一个非常合理的决定。该代码在本地编译,因为该程序包位于我的类路径中,但在运行时失败,这一切都很好并且可以预期。

我的代码最初不应该使用此程序包。有两种方法可以引入对这些程序包的依赖关系。

  1. 使用出于某种原因而使用这些类的库,并引入可传递的依赖关系。这不是事实。

  2. 导入这些类之一-这是一件非常愚蠢的事情。如果有人使用课程,他们应该知道它是什么。

就我而言,我从该包中显式导入了一个类,而没有注意到它。

事实证明,该

sun.reflect.generics.reflectiveObjects
程序包包含一个
NotImplementedException
类,该类的名称与经常使用的
NotImplementedException
from相同
apache.commons.lang3

当它在我的IDE中自动完成时,我不小心将其导入,并且很长一段时间都没有注意到它。我花了一个时间

git bisect
来隔离更改。

发生这种情况后,我

sun.*
从自动完成中排除了软件包。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5056171.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存