Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
[VS] Java-Package Problem
[10:49] siwahofe@faui05h:~/vs/aufgabe1/rmi$ echo $CLASSPATH
.
[10:49] siwahofe@faui05h:~/vs/aufgabe1/rmi$ javac MessageBoardInterface.java
MessageBoardInterface.java:4: cannot resolve symbol
symbol : class Message
location: package vs
import vs.Message;
^
MessageBoardInterface.java:7: cannot resolve symbol
symbol : class Message
location: interface vs.MessageBoardInterface
public int post (Message m) throws RemoteException;
Davor habe ich eine Message.java kompiliert, in der am Anfang ein “package vs;” steht. Wo ist der Fehler?
OK,
es liegt anscheinend an der Verzeichnisstruktur. Alles im Package vs muss auch im Verzeichnis vs liegen.
Trotzdem habe ich noch Probleme:
[12:15] siwahofe@faui05a:~/vs/aufgabe1/rmi/vs$ ls
Message.class MessageBoard.class MessageBoardInterface.class MessageBoard_Skel.class boardclient.class boardserver.class
Message.java MessageBoard.java MessageBoardInterface.java MessageBoard_Stub.class boardclient.java boardserver.java
[12:15] siwahofe@faui05a:~/vs/aufgabe1/rmi/vs$ cd ..
[12:15] siwahofe@faui05a:~/vs/aufgabe1/rmi$ java vs.boardserver
error: java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: vs.MessageBoard_Stub
Warum findet er die Klasse nicht?
Vielen Dank,
-Steppenwolf
Hast du den rmic aufgerufen?
Mit rmic vs.Message ?
Ja, allerdings mit
rmic vs.MessageBoard
Deshalb gibt es im Verzeichnis vs ja auch den Stub und Skeleton (siehe oben). Trotzdem kommt die Exception. Hast du noch eine andere Idee?
Befinden sich alle Klassen die du benutzt wirklich im Package vs (vielleicht hast du das package vs; in irgend einem java-file vergessen)?
Sonst weiss ich jetz auch nix mehr…
Danke fuer die Hinweise, es geht jetzt. Allerdings aus (meiner Meinung nach) unerfindlichen Gruenden. Habe mich jetzt auf einem anderen CIP-Rechner eingeloggt, dort rmiregistry gestartet und dann nochmal den boardserver probiert und da geht es.
Ich glaube, ich muss mich noch ein bisschen mit Java und seinen Packages beschaeftigen, vielleicht finde ich dann heraus, woran es lag.
Danke nochmal!