AccessControlException

Status
Nicht offen für weitere Antworten.
W

Whitey

Gast
Hi,

bin grad dabei eine Swing GUI zu entwickeln. IDE ist Eclipse mit Visual Editor Plugin.

Mein Projektaufbau sieht folgendermaßen aus:

MeinProjekt
|
---src
|
---de.produkt.produktteil
| |
| ---- alle Klassen der GUI
|
---de.produkt.produkteil.images
| |
| ----alle verwendeten Images
|
---de.produkt.produkteil.resources
|
----Property Dateien für verschiedene Sprachen


Unter Eclipse läuft alles super und auch ein einfaches Jar-Archiv ist ausführbar, solange es auf dem "Entwicklungsrechner" ausgeführt wird. Die App soll aber auch auf anderen Rechnern laufen. Also habe ich mit dem Eclipse Plugin Fat Jar eine One-Jar gebaut. Die läuft auch auf anderen Rechnern, wenn ich Sachen auskommentiert habe!

Genau das ist mein Problem. Das Teil muss laufen, ohne das was auskommentiert wurde. Ich krieg folgenden Fehler wenn ich nichts auskommentiere.(auf allen Rechnern auch auf dem "Entwicklungsrechner")(auch mit Admin-Rechten)

Exception in thread "AWT-EventQueue-0" java.security.AccessControlException: acc
ess denied (java.security.AllPermission <all permissions> <all actions>)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
at sun.awt.SunToolkit.getImage(Unknown Source)
at de.cromabase.gui.ServerNotFoundWindow.initialize(ServerNotFoundWindow.java:69)
at de.cromabase.gui.ServerNotFoundWindow.<init>(ServerNotFoundWindow.java:56)
at de.cromabase.gui.RMIMethods.getUserFromServer(RMIMethods.java:26)
at de.cromabase.gui.GUI.setUsersOnTab(GUI.java:578)
at de.cromabase.gui.GUI.getTpUserList(GUI.java:541)
at de.cromabase.gui.GUI.getJContentPane(GUI.java:558)
at de.cromabase.gui.GUI.initialize(GUI.java:257)
at de.cromabase.gui.GUI.<init>(GUI.java:245)
at de.cromabase.gui.GUI$1.run(GUI.java:122)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Das ist die Zeile 69 von der Klasse ServerNotFoundWindow.

Code:
this.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource
                                                        (Resource.getResource("ServerNotFoundWindow.SmallCromaIcon"))));

ServerNotFoundWindow.SmallCromaIcon = /de/produkt/produktteil/images/AppIcon16x16.gif

Ich hab echt keine Ahnung was das zu bedeuten hat. Hab ich zuwenig Rechte? Hab ich beim erstellen der One-Jar etwas nicht beachtet? Oder woran kann es sonst liegen, da es ja in Eclipse ohne Fehler läuft.

Ich hoffe mir kann jemand einen Tip geben. Bin noch nicht so erfahren in Java Programmierung und weiß einfach nicht weiter.

Viele Grüße
 
G

Guest

Gast
Hi,

die Policy sieht so aus.

Code:
// This file was generated by the RMI Plugin for Eclipse.

///////////////////////////////////////////////////////////////
// This is a sample policy file that grants the application all permissions. 
// A policy file is needed by the RMISecurityManager and your application might
// not work after installing the RMISecurityManager unless you provide a 
// security policy file at launch.
//
// You can configure the security policy of a launched application using either
// the RMI Launcher or by manually setting the java.security.policy property.
//
// SECURITY NOTE: This security policy is good for development. For deployment
// you may need a stricter security policy.
//
// For more information see:
//    [url]http://java.sun.com/docs/books/tutorial/rmi/running.html[/url]
//    [url]http://java.sun.com/j2se/1.5.0/docs/guide/security/PolicyFiles.html[/url]
// 

grant {
	permission java.security.AllPermission;
	
	// Other options:
	// permission java.net.SocketPermission "127.0.0.1:1024-", "accept, connect, listen, resolve";
	// permission java.net.SocketPermission "localhost:1024-", "accept, connect, listen, resolve";
	
	// From [url]http://java.sun.com/docs/books/tutorial/rmi/running.html[/url]
	// Copyright 1995-2005 Sun Microsystems, Inc. Reprinted with permission 
	
	// permission java.net.SocketPermission "*:1024-65535", "connect,accept";
    // permission java.net.SocketPermission "*:80", "connect";
	
	// permission java.net.SocketPermission "*:1024-65535", "connect,accept";
    // permission java.io.FilePermission "c:\\home\\ann\\public_html\\classes\\-", "read";
    // permission java.io.FilePermission "c:\\home\\jones\\public_html\\classes\\-", "read";
};

Ich hab die nicht selbst geschrieben und es fällt mir schwer sie zu interpretieren.

Viele Grüße
 

Whitey

Mitglied
Ich hab hier nochmal die Fehlermeldung wenn ich die jar auf einem Mac ausführe.

Exception in thread "AWT-EventQueue-0" java.security.AccessControlException: access denied (java.security.AllPermission <all permissions> <all actions>)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
at java.security.AccessController.checkPermission(AccessController.java:427)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at sun.awt.SunToolkit.getImageFromHash(SunToolkit.java:597)
at sun.awt.SunToolkit.getImage(SunToolkit.java:650)
at de.cromabase.gui.ServerNotFoundWindow.initialize(ServerNotFoundWindow.java:70)
at de.cromabase.gui.ServerNotFoundWindow.<init>(ServerNotFoundWindow.java:56)
at de.cromabase.gui.RMIMethods.getUserFromServer(RMIMethods.java:26)
at de.cromabase.gui.GUI.setUsersOnTab(GUI.java:578)
at de.cromabase.gui.GUI.getTpUserList(GUI.java:541)
at de.cromabase.gui.GUI.getJContentPane(GUI.java:558)
at de.cromabase.gui.GUI.initialize(GUI.java:257)
at de.cromabase.gui.GUI.<init>(GUI.java:245)
at de.cromabase.gui.GUI$1.run(GUI.java:122)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)


Ich hab den Fehler jetzt eingegrenzt. Der tritt definitiv dann auf wenn, ein Image geladen wird. Jetzt bin ich grad am testen ob ich einfach die Pfade ändern kann, bin aber bis jetzt noch nicht erfolgreich gewesen. :bahnhof:

Wenn jemand noch einen anderen Tip hat, immer her damit
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben