几周前我开始学习Java,现在我正在创建一个japplet游戏。
我正在使用Mac OS x,每当我尝试在浏览器中运行applet时,我都会遇到以下异常
java.lang.SecurityException: Permission denied:
如何解决此问题以便JApplet运行?这些文件都在本地,我在浏览器中本地运行JApplet。
以下是html代码
<html>
<head>
<title>Java Game!</title>
</head>
<body>
<applet code="/local/path/to/MainApplet.class"
width=500
height=500>
</applet>
</body>
</html>
更新
以下是完整的控制台输出:
Java.lang.SecurityException: Permission denied:
file:/path/to/MainApplet.class
at sun.plugin2.applet.Applet2ClassLoader$1.run(Applet2ClassLoader.java:209)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Applet2ClassLoader.java:201)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Plugin2ClassLoader.java:249)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:179)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Plugin2ClassLoader.java:160)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Plugin2ClassLoader.java:678)
at sun.plugin2.applet.Plugin2Manager.createApplet(Plugin2Manager.java:3045)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1497)
at java.lang.Thread.run(Thread.java:680)
Exception: java.lang.SecurityException: Permission denied: file:/path/to/MainApplet.class
更新#2
我在Windows中尝试了相同的代码,完全没有问题。只有在Mac上才能提供这个例外,任何想法?
答案 0 :(得分:0)
由于applet是从Internet提供的组件,因此Java的安全框架要求必须对applet进行签名,如果它将访问硬盘上的写入或读取等本地资源。
要对小程序进行签名,您可以查看以下链接:http://java.sun.com/developer/onlineTraining/Programming/JDCBook/signed.html