【发布时间】:2012-01-24 18:00:44
【问题描述】:
几周前我开始学习 Java,现在我正在创建一个 japplet 游戏。
我使用的是 Mac os x,每当我尝试在浏览器中运行小程序时,都会出现以下异常
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 上出现此异常,有什么想法吗?
【问题讨论】:
-
Permission denied:之后的位是什么?您的问题的答案可能是“不要那样做”,或者“只在签名且受信任的小程序中这样做”。在你揭示“那个”是什么之前,不可能说出哪个。 -
“我几周前开始学习 Java,现在我正在创建一个 japplet 游戏。” 顺便说一句,编写小程序并不是一个好方法学习 Java GUI 编程。它们的开发和部署比(例如)从使用JWS 的链接启动的
JFrame要复杂得多。 -
@AndrewThompson 该课程要求我的应用程序部署为小程序,遗憾的是别无选择:(我还更新了 Q.
-
1) 不要忘记为作业问题添加作业标签。 2) 责骂你的老师愚蠢到强迫人们进行小程序开发。 3) 是时候在您的描述中删除
path/to了。状态显式/精确路径。如果“匿名”路径旨在提供安全性,请更改项目设置以使路径从一开始就匿名。 4) 为便于开发,确保类与 HTML 位于同一目录中,或者如果该类在包中,则为子目录。 5)这个安全问题很可能表明小程序设置不正确。