Отказано в разрешении апплета Java, исключение безопасности - PullRequest
0 голосов
/ 24 января 2012

Я начал изучать Java несколько недель назад, и сейчас я нахожусь в процессе создания игры-апплета.

Я использую 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>

UPDATE:

Ниже приводится полный вывод консоли:

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, который дает это исключение, есть идеи?

1 Ответ

0 голосов
/ 24 января 2012

Поскольку апплеты являются компонентами, предоставляемыми из Интернета, среда безопасности Java требует, чтобы вы подписали апплет, если он получит доступ к локальным ресурсам, таким как запись или чтение с жесткого диска.

Для подписиАпплет вы можете проверить по следующей ссылке: http://java.sun.com/developer/onlineTraining/Programming/JDCBook/signed.html

...