2010-05-17 108 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

噹噹前線程耗盡堆棧空間時會導致此異常。當一個函數遞歸太多次時會發生這種情況,通常是因爲非終止遞歸。