使用eclipse开发编译,通过ie运行程序时报错误如下:
java.lang.ExceptionInInitializerError thrown while loading gnu.io.RXTXCommDriver
java.lang.ExceptionInInitializerError
at com.tvapplet.TvSendCmdApplet.getSerialPort(TvSendCmdApplet.java:142)
at com.tvapplet.TvSendCmdApplet.init(TvSendCmdApplet.java:95)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission loadLibrary.rxtxSerial)
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.checkLink(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:83)
... 4 more 这种错误是因为什么原因造成的?谢谢
java.lang.ExceptionInInitializerError thrown while loading gnu.io.RXTXCommDriver
java.lang.ExceptionInInitializerError
at com.tvapplet.TvSendCmdApplet.getSerialPort(TvSendCmdApplet.java:142)
at com.tvapplet.TvSendCmdApplet.init(TvSendCmdApplet.java:95)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission loadLibrary.rxtxSerial)
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.checkLink(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:83)
... 4 more 这种错误是因为什么原因造成的?谢谢
具体做法是:找到您的ie浏览器使用的jre包,我家的是:D:\Program Files\Java\jre1.6.0\lib\security,在这个包下面有个java.policy文件,打开编辑它:
在grant里增加2个语句:
permission java.lang.RuntimePermission "accessClassInPackage.sun.jdbc.odbc";
permission java.util.PropertyPermission "file.encoding", "read";
再关闭ie,重新运行就可以解决这个问题.我在家里的机子中,增加以后就没有在出现上面的错误信息了.
增加第二个语句是因为让applet能读一些二进制文件.不然可能会出现
java.security.AccessControlException:
access denied (java.lang.RuntimePermission
file.encoding read)
错误.
你试试
http://www.javafr.com/forum/sujet-APPLET-JAVA-JAVA-SECURITY-ACCESSCONTROLEXCEPTION_953244.aspx