# applet als JAR -> AccessControlException



## fallencake (15. Apr 2009)

Hi
 Ich würde gerne eine App veröffentlichen und das als JAR.
 Dafür habe ich das JAR File genommen dass auch lokal ausgeführt werden kann (Mit Eclipse erstellt. Export -> Runnable JAR file).
 Darin befindet sich nun natürlich ein Manifest in der die Main-Class angegeben ist. Dies nützt zwar nichts beim Applet, soll aber auch nicht stören, oder? 
 Die Applet Class heisst GameApplet.class.

 Hier der HTML-Code:

```
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
 <title>Java-Applets einbinden</title>
 </head>
 <body>
 <h1>Against Gravity</h1>
 <p>
     
 <APPLET
 ARCHIVE = "AginastGravity.jar"
 CODE = "cake.games.spacecakeFORKaginastgravitiy.GameApplet.class"
 NAME = "TestApplet"
 >
 
 </p>
```
Der Schreibfehler Ag*ina*stGravity.jar "stimmt" so..

 Habe das JAR und das HTML File nach C:\ kopiert und mit Firefox geöffnet. Fehlermeldung der JavaConsole:

```
java.security.AccessControlException: access denied (java.util.PropertyPermission user.dir read)
     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.checkPropertyAccess(Unknown Source)
     at java.lang.System.getProperty(Unknown Source)
     at java.io.Win32FileSystem.getUserPath(Unknown Source)
     at java.io.Win32FileSystem.resolve(Unknown Source)
     at java.io.File.getAbsolutePath(Unknown Source)
     at cake.games.spacecakeFORKaginastgravitiy.Game.<init>(Game.java:74)
     at cake.games.spacecakeFORKaginastgravitiy.GameApplet.init(GameApplet.java:7)
     at sun.applet.AppletPanel.run(Unknown Source)
     at java.lang.Thread.run(Unknown Source)
```
 
 Also habe ich auch noch das File java.policy.applet nach C:\ sowie ins root-Verzeichnis des JAR Files kopiert:


```
/* AUTOMATICALLY GENERATED ON Tue Apr 16 17:20:59 EDT 2002*/
 /* DO NOT EDIT */
 
 grant {
   permission java.security.AllPermission;
 };
```
 
 Leider klappt es noch nicht. 
 Was mache ich falsch?

 Gruss & Danke
 fallencake


----------



## maki (15. Apr 2009)

Musst dein Applet signieren: http://www.java-forum.org/java-faq-beitraege/16717-applets-und-webstart-anwendungen-signieren.html


----------



## L-ectron-X (15. Apr 2009)

Unsignierte Applets dürfen u.a. nicht auf die lokale Datei- und Verzeichnisebene zugreifen.
Wenn es das können soll, muss es signiert sein.

Vielleicht hilft dir dieser FAQ-Beitrag weiter: http://www.java-forum.org/java-faq-beitraege/16717-applets-und-webstart-anwendungen-signieren.html


----------



## fallencake (15. Apr 2009)

Jetzt sieht es schon viel besser aus!
Vielen Dank.


----------

