Re: [問題] Applet執行Comm API發生java.lang.NoCl …
謝謝 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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):