2010-02-23 59 views
1

我实现了自定义类加载器来保护我的应用程序定制ClassLoader非法访问错误

但是当我加载加密类java的抛出 IllegalAccessError 但我肯定,因为我已经把解密类文件解密accuratly完成 在某些地方,并将其与原始类文件进行比较。

根据关于IllegalAccessError

java的单证

“通常,这错误是由编译器捕获;如果一个类的定义具有不相容改变只能出现在运行时该错误。”

我怎样才能兼容地定义我的解密类?

回答

0

这个错误几乎可以肯定地表明你的加密/解密过程正在破坏原始的类文件。我建议一个非常小心的往返测试过程。取一大堆类,然后通过加密和解密来运行,(a)与原始文件进行比较,(b)尝试使用标准类加载器加载它们。我预测你会得到失败,并说明你的问题。

也可能你的问题是非常具体的,你的类加载器在解密之前将字节交给JVM,在这种情况下,你只需要调试它,但我会测试第一种可能性第一。