我試圖運行此太陽教程中的示例代碼:獲得的Java RMI和運行
http://download.oracle.com/javase/6/docs/technotes/guides/rmi/hello/hello-world.html
我複製了他們所有的代碼完全變成一個Eclipse項目並運行「rmiregistry的&」從終端(我正在運行OSX)。
當我嘗試運行服務器,我得到
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: suntut.Hello
我一直在freenode上的註冊表本身並不需要知道我的類的任何保證通過#java。但似乎更奇怪的是,這個問題與我的文件名或什麼有關 - 所有這三個類在編譯時都能看到對方,它們全都在Eclipse項目的同一個包中,等等。任何人都可以幫我開始診斷嗎?
更新: 我試着從命令行運行它。從/用戶/ [我] /工作區/ [項目] /測試/我跑
java suntut/Server
,並得到了確切的同樣的錯誤。 (這是在用javac成功編譯所有內容之後)
你能告訴我們你用來產生服務器的確切的命令行調用嗎?另外,爲你的類路徑發佈確切的目錄結構會有所幫助。 –
我在eclipse中運行它。我設置了-Djava.rmi.server.codebase = file:按照本教程的建議。 – Personman
目錄結構是/ Users//workspace/ /testing/suntut/{Server,Client,Hello}.java –
Personman