自定义类加载器非法访问错误

时间:2010-02-23 11:27:06

标签: classloader

我已经实现了一个自定义类加载器来保护我的应用程序

但是当我加载一个加密的类java抛出 IllegalAccessError 但我确信解密是准确的,因为我已经把解密的类文件 在某些地方并将其与原始类文件进行比较。

根据关于IllegalAccessError的java文档

“通常情况下,编译器会捕获此错误;如果类的定义不兼容已更改,则此错误只能在运行时发生。”

如何兼容定义我的解密类?

1 个答案:

答案 0 :(得分:0)

此错误几乎肯定表明您的加密/解密过程正在破坏原始类文件。我建议进行非常仔细的往返测试过程。获取非常大的类集合,然后通过加密和解密运行,以及(a)与原始类比较,以及(b)尝试使用标准类加载器加载它们。我预测你会得到失败并且他们会解释你的问题。

在将字节传递给JVM之前,你的问题也可能非常特定于你的类加载器在解密之后所做的事情,在这种情况下你只需要调试它,但我先测试第一种可能性