Ich versuche, eine RMI-Verbindung zu erhalten. Ich bin auf viele Sicherheitsprobleme gestoßen, aber ich habe keinen Weg gefunden, an all dem vorbeizukommen. Ich ausführen meine jar-Datei mit:RMI-Verbindung verweigert
java -Djava.security.policy=java.security.AllPermission -jar "myjarfile"
Der Code, den ich dies zu schaffen wurden verwendet, ist:
public class server
{
public static void main(String args[])throws Exception
{
if (System.getSecurityManager() == null)
System.setSecurityManager (new RMISecurityManager() {
public void checkConnect (String host, int port) {}
public void checkConnect (String host, int port, Object context) {}
});
try
{
sampleserverimpl server = new sampleserverimpl();
System.out.println("SERVER IS WAITING");
LocateRegistry.createRegistry(2020);
//Runtime.getRuntime().exec("rmiregistry 2020");
Naming.rebind("//localhost:2020/SERVER", server);
}
catch(Exception e)
{
System.out.println(e);
}
}
};
Die Fehler Spur Ich erhalte ist:
Exception in thread "RMI TCP Connection(idle)" java.security.AccessControlExcept
ion: access denied (java.net.SocketPermission 127.0.0.1:31199 accept,resolve)jav
a.rmi.UnmarshalException: Error unmarshaling return header; nested exception is:
java.io.EOFException
Ich habe versucht, verschiedene Möglichkeiten, um dies zu umgehen, kann hier jemand das Problem sehen?
Danke
Habe es jetzt gelaufen, danke. Die Datei wurde früher versucht, aber nicht zum Sicherheitsmanager hinzugefügt. +1 – chrissygormley