RemoteException / UnmarshalException

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi!

Ich arbeite mit RMI und will folgenden Code ausführen:

Code:
1. LocateRegistry.createRegistry
2. rebind

Jedoch bekomme ich beim rebind Befehl folgenden Fehler, wenn ich das Programm ausführen will

Code:
Server exception: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
	java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
	java.lang.ClassNotFoundException: ab6.ServerI (no security manager: RMI class loader disabled)
java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: 
	java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
	java.lang.ClassNotFoundException: ab6.ServerI (no security manager: RMI class loader disabled)
	at sun.rmi.server.UnicastServerRef.oldDispatch(Unknown Source)
	at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
	at sun.rmi.transport.Transport$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Unknown Source)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
	at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknown Source)
	at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
	at sun.rmi.server.UnicastRef.invoke(Unknown Source)
	at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
	at ab6.Server.bindLocal(Server.java:35)
	at ab6.Server.main(Server.java:51)
Caused by: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: 
	java.lang.ClassNotFoundException: ab6.ServerI (no security manager: RMI class loader disabled)
	at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
	at sun.rmi.server.UnicastServerRef.oldDispatch(Unknown Source)
	at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
	at sun.rmi.transport.Transport$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Unknown Source)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: ab6.ServerI (no security manager: RMI class loader disabled)
	at sun.rmi.server.LoaderHandler.loadProxyClass(Unknown Source)
	at java.rmi.server.RMIClassLoader$2.loadProxyClass(Unknown Source)
	at java.rmi.server.RMIClassLoader.loadProxyClass(Unknown Source)
	at sun.rmi.server.MarshalInputStream.resolveProxyClass(Unknown Source)
	at java.io.ObjectInputStream.readProxyDesc(Unknown Source)
	at java.io.ObjectInputStream.readClassDesc(Unknown Source)
	at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
	at java.io.ObjectInputStream.readObject0(Unknown Source)
	at java.io.ObjectInputStream.readObject(Unknown Source)
	... 12 more

Es hat bis jetzt immer auch ohne SecurityManager funktioniert. Letztes Mal hatte ich auch diese Fehlermeldung, aber nach einem Neustart ging alles wieder normal. Ich habe im Internet gesucht und als Lösung wurde beschrieben den Classpath zu setzen. Das versuchte ich auch dann in Eclipse, aber es brachte auch nicht den gewünschten Erfolg.

Was mache ich falsch? Ich hoffe ihr könnt mir weiterhelfen!

Grüße
testing
 

testing

Mitglied
Weiß jemand eine Antwort?

Ich hab mal Java komplett deinstalliert. Dann habe ich jdk1.5.0_17 installiert. Da lief mein Programm. Aber wenn ich es neu kompilieren wollte, sagte er mir, dass ich die falsche Version benutze. Also hab ich jetzt die jdk1.6.0_12 wieder installiert. Bei der bekomme ich aber wieder den oben genannten Fehler (hatte diese Version schon zuvor genutzt). Ich habe Eclipse neu heruntergeladen. Alles immer dasselbe. Was mache ich falsch?

Ich kann nicht zwei java Versionen gleichzeitig laufen lassen ...

Schön langsam verzweifle ich. Auf einem anderen Rechner kann ich es ganz normal starten, aber kompilieren (mit alter Version) geht nicht, da Elemente der GUI die neuere Version verlangen.
 

testing

Mitglied
Das Problem war zum Schluss jenes, dass ich eine zweite Java-Anwendung im Hintergrund auf meinen Rechner laufen hatte, der den selben Port 10999 nutzte ...
 
Status
Nicht offen für weitere Antworten.

Oben