RMI Klasse wird unter falschem Pfad gesucht

chriis

Aktives Mitglied
Moin,

bei meiner Server-Client-Anwendung bekomme ich folgende Fehlermeldung:

Java:
Caused by: java.lang.ClassNotFoundException: de.test.be.processor.IAgentProcessor (no security manager: RMI class loader disabled)
	at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:535)
	at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:628)
	at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:294)
	at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:238)
	at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1531)
	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1493)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
	... 37 more

Meine RMI Registry gibt ein Objekt vom Typ de.test.processor.AgentProcessor als de.test.processor.IAgentProcessor bekannt, letzteres ist ein Interface was beiden (Server/Client) als .jar zur Verfügung steht.

Nun sagt mir die Exception immer dass die Klasse de.test.be.processor.IAgentProcessor benötigt wird. Lauf suche in Eclipse ist dieser Pfad aber nirgends in meinem Projekt mehr vorhanden. Wo könnte diese alte Pfad noch drin stehen. Ich habe beide Projekte bereits neu kompiliert und alle vorhandenen .class Dateien gelöscht, um ein kompilieren mit alten Quellen auszuschließen.

Edit: Ich habe gerade erst die gemeinsamen Dateien in eine .jar für beide exportiert, davor hat noch alles geklappt. Wenn ich die Dateien wieder an ihren originalplatz verschiebe läuft es wieder.
 
Irgendwo werden alte Jars benutzt. Einfach mal per TotalCommander danach suchen und die in die Jars schauen, ob test.be dort vorhanden ist. Werden irgendwo alte Serialisierungen verwendet?
 
Also ich hab nochmal alle .jars durchgeguckt, das sind alles die Aktuellen.
Ich hab die serialUIDs nicht verändert, falls du das meinst.
 
ob es dieses Problem ist, könntest du recht eindeutig klären, indem du die Klasse umbenennst,
wenn dann noch eine Fehlermeldung mit dem alten Klassennamen auftaucht, dann besteht fast keine andere Möglichkeit als doch eine alte jar

schau dir im Programm die Umgebungsvariable "java.class.path" an, gehe die Verzeichnisse Jars genau in Reihenfolge durch,
im Java-Programm nach Klassen oder jars schauen, vielleicht kannst du das Datum der Erstellung ausgeben oder so,

notfalls das Projekt komplett neu, entscheidend ist ja wohl der RMI-Server, den unter anderen Namen registrieren
 
Ok, ihr hattet natürlich recht..war ne alte .jar und nicht nur das..ich hab mich zu einer alten Version des Servers verbunden, der parallel lief. 😳
Naja nun bekomm ich eine neue Exception..mal gucken was die wieder bedeutet.
Java:
org.springframework.dao.InvalidDataAccessApiUsageException
 

Zurück
Oben