2010-05-17 110 views
0

我正在使用IcePDF组件在我的网页上查看JApplet中的pdf。但由于某种原因,我得到这个错误。任何人都可以告诉为什么会发生这种情况,以及如何解决它?这个例外是什么意思?我该如何解决这个问题? java

Exception in thread "thread applet-applet.KitKitApplet.class-1" java.lang.StackOverflowError 
    at java.util.PropertyPermissionCollection.implies(Unknown Source) 
    at java.security.Permissions.implies(Unknown Source) 
    at sun.security.provider.PolicyFile.implies(Unknown Source) 
    at java.security.ProtectionDomain.implies(Unknown Source) 
    at java.security.AccessControlContext.checkPermission(Unknown Source) 
    at java.security.AccessController.checkPermission(Unknown Source) 
    at java.lang.SecurityManager.checkPermission(Unknown Source) 
    at java.lang.SecurityManager.checkPropertyAccess(Unknown Source) 
    at java.lang.System.getProperty(Unknown Source) 
    at org.icepdf.core.util.Defs.property(Defs.java:59) 
    at org.icepdf.core.util.Defs.property(Defs.java:63) 
    at org.icepdf.core.util.Defs.property(Defs.java:63) 
    at org.icepdf.core.util.Defs.property(Defs.java:63) 
    at org.icepdf.core.util.Defs.property(Defs.java:63) 
    at org.icepdf.core.util.Defs.property(Defs.java:63) 
    at org.icepdf.core.util.Defs.property(Defs.java:63) 

回答

7

看起来像是碰到了this bug。该程序正在尝试读取applet沙箱不允许其读取的系统属性,并且IcePDF未正确处理后续的SecurityException

+0

嗨迈克尔, 但我已经下载了最新版本4.0.1。我应该放弃使用这个组件吗?还是有一些可供选择的? – TCM 2010-05-17 06:59:38

+0

@Nitesh:不幸的是,这个bug还没有被修复。查看错误报告是否会引导您了解有关如何在特定情况下解决此问题的信息;你也可以使用调试器来找出程序试图访问的系统属性以及如何避免这种情况。 – 2010-05-17 07:51:09

0

你已经编译了一些没有调试符号的东西,这就是为什么你在任何地方看到未知源的原因。主要的事情是非常明显的,你的SecurityManager没有用正确的权限来设置java.lang.System.getProperty()。您需要配置小程序安全权限以让该库访问试图获取的任何属性。您可能需要Sign your Applet才能使您的代码正常工作。

1

当当前线程耗尽堆栈空间时会导致此异常。当一个函数递归太多次时会发生这种情况,通常是因为非终止递归。