Re: [問題] Applet執行Comm API發生java.lang.NoCl …

看板java作者 (香吉蒜)時間18年前 (2007/08/01 15:02), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
謝謝 tkcn給了 sign applet這個方向 於是我參照javaworld裡面 sign applet的教學使用keytool及jarsigner 然後製作了Sent.jar與Sent.crt 在html裡 archive=" Sent.jar , comm.jar" 現在applet的確會跳出確認視窗了 可是.. 依然不能執行 java 主控台的錯誤訊息為 java.lang.NoClassDefFoundError: Could not initialize class javax.comm.Comm PortIdentifier at TransmitterApplet.init(TransmitterApplet.java:26) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 請問這是程式有問題的意思麼? 我的第26行程式為 CommPortIdentifier com = CommPortIdentifier.getPortIdentifier("COM1"); 另外一個不解的地方就是 如果使用 appletviewer看html的話 錯誤訊息則是跟沒做 sign applet之前一樣 實在很怪 :( ※ 引述《tkcn (小安)》之銘言: : ※ 引述《tjpu4 (香吉蒜)》之銘言: : : 所以現在 Java主控台的錯誤訊息就跟appletviewer顯示的錯誤訊息類似了(見下) : : 那想請問的是 : : "Caused by...."的錯誤訊息是代表什麼意思呢? : : java.lang.ExceptionInInitializerError : : at TransmitterApplet.init(TransmitterApplet.java:25) : : at sun.applet.AppletPanel.run(Unknown Source) : : at java.lang.Thread.run(Unknown Source) : : Caused by: java.security.AccessControlException: access denied (java.util.PropertyPermission javax.comm.properties read) : 存取被拒絕,原因就是 sandbox : applet 是用於網頁上的小程式, : 基於安全理由,它不允許你做任何的 IO 操作, : (存取本機電腦 及 網路連線...等,只有網頁 server 例外) : 否則一旦開了惡意的 applet, : 電腦就如同中了木馬一般。 : sandbox 的概念就是, : 只允許你在盒子裡面操作, : 所以無論你在盒子裡做了什麼事, : 都不會影響到盒子外的世界。 : 如果有特殊的需求, : 可以使用 sign applet, : 再開啟程式前會先出現確認視窗, : 待使用者同意後, : 程式便能夠有較高的存取權限。 嗯嗯 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.18.60.138
文章代碼(AID): #16i2_fVI (java)
討論串 (同標題文章)
文章代碼(AID): #16i2_fVI (java)