我在寫一個rmi應用程序。當我把所有的類放在一個目錄中時,一切正常。但是,當我嘗試拆分服務器部分和客戶端部分時,它引發java.lang.ClassNotFoundException.myclasses 它似乎是註冊表無法在其CLASSPATH上找到該類。我想知道如何解決這個問題?java rmi例外
回答
您是否在客戶端和服務器的參數中指定了classpath目錄?
從教程:
服務器
在Solaris操作系統:
的java -classpath classDir -Djava.rmi.server.codebase =文件:classDir/example.hello。服務器&
在Windows平臺上:
開始JAV一個-classpath classDir -Djava.rmi.server.codebase =文件:
的java -classpath classDir例如:classDir/example.hello.Server
一旦服務器已經準備好,則客戶端可以如下運行。 hello.Client 其中classDir是類文件樹
http://java.sun.com/javase/6/docs/technotes/guides/rmi/hello/hello-world.html#5
註冊表在那裏將客戶端接口與其服務器實現類連接起來。在客戶端上,您需要在類路徑上具有接口類定義。
另外,客戶端根本不應該引用實現類 - 所有東西都應該在接口/存根類中。
如果這沒有回答你的問題,你需要更具體,並提供至少一些代碼。
號註冊表的根目錄下是否有名稱與存根連接起來。它不知道任何關於他的實現類。但要保存存根的實例,它需要CLASSPATH中的類以及存根所依賴的每個應用程序類。 – EJP 2017-07-05 03:42:29
- 1. Java RMI ClassNotFound例外
- 2. java rmi客戶端例外
- 3. RMI和例外
- 4. RMI例外:java.lang.InvalidClassException
- 5. 使用隧道的Java RMI - 例外
- 6. Java rmi代理示例
- 7. java RMI - 意外的錯誤
- 8. RMI例如compute.task
- 9. 初始EJB RMI有效,但有例外
- 10. java.lang.AbstractMethodError在簡單的Java RMI例子
- 11. Java RMI-線程的意外行爲
- 12. 基本RMI例
- 13. jGuru RMI示例不編譯
- 14. RMI示例和ExportException
- 15. RMI編程示例
- 16. Java RMI警告
- 17. Java RMI和NoClassDefFoundError
- 18. Java RMI複製
- 19. 異步Java RMI
- 20. 異步Java RMI?
- 21. JAVA異步RMI
- 22. 運行Java RMI
- 23. Java RMI ServerException - java.lang.ClassNotFoundException:org.prog.rmi.RmiServer_Stub
- 24. RMI實現Java
- 25. java RMI和eclipse
- 26. Java RMI和https?
- 27. Java RMI超時
- 28. Java RMI同步
- 29. Java RMI NoSuchObjectException
- 30. Java RMI的UnicastRemoteObject
它解決了這個問題。但是,運行客戶端時,我遇到了類似的問題。 線程「main」中的異常java.rmi.ServerException:在服務器線程中發生RemoteException;嵌套的異常是: \t java.rmi.UnmarshalException:error unmarshalling arguments;嵌套的例外是: \t拋出java.lang.ClassNotFoundException:com.v3q6.ClientBootstrap.ClientImpl_Stub(無安全管理器:RMI類加載器禁用) \t在sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:353) 。 .. ... 原因可能是我使用了「UnicastRemoteObject.exportObject(client);」你有什麼想法嗎? – 2009-09-27 23:38:50
您可能需要再次運行rmic以生成存根。 – UberAlex 2009-09-28 08:09:36