自定义 SecurityManager 中的 ClassCircularityError

Posted

技术标签:

【中文标题】自定义 SecurityManager 中的 ClassCircularityError【英文标题】:ClassCircularityError inside custom SecurityManager 【发布时间】:2011-08-24 10:14:06 【问题描述】:

我正在编写一个 SecurityManager 并在运行单元测试时遇到 ClassCircularityError 异常。检查堆栈跟踪显示它抱怨我的 SM.checkPermission 方法中引用的某些类。为了保证我的 SM.checkP 中的所有类都已加载,我欺骗并在我正式将其设置为系统 SM 之前调用它一次。然而,这并不能解决问题。我完全困惑为什么 JVM 试图再次加载一个类。

【问题讨论】:

【参考方案1】:

看来我错过了预加载一个在我的 SM 中引用的类,因此在加载该类时遇到了问题,因为它需要先加载它才能验证加载尝试。哎哟。

【讨论】:

以上是关于自定义 SecurityManager 中的 ClassCircularityError的主要内容,如果未能解决你的问题,请参考以下文章

JAVA SecurityManager - 具有多个操作的自定义 BasicPermission

Java SecurityManager 多线程

我可以信任 Java SecurityManager 沙箱吗?

如何自定义 Microsoft cmdline 编译器 cl 的 .exe 文件名?

编写自定义 Shiro 领域

NewtonsoftJson 中的自定义 JSONConverter 用于序列化