我在寫一個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. 初始EJB RMI有效,但有例外
- 7. jGuru RMI示例不編譯
- 8. Java:寫例外
- 9. java - nullpointer例外
- 10. Java RMI NoSuchObjectException
- 11. JAVA異步RMI
- 12. 異步Java RMI
- 13. java RMI和eclipse
- 14. Java RMI ServerException - java.lang.ClassNotFoundException:org.prog.rmi.RmiServer_Stub
- 15. 運行Java RMI
- 16. Glassfish 3 EJB3 rmi示例
- 17. spring rmi java 1.4和java 1.5
- 18. 例外,在java中
- 19. Java中的例外
- 20. java中的例外
- 21. 的java classcast例外
- 22. Java中的例外
- 23. Java RMI,Tomcat問題!
- 24. Java RMI的概念
- 25. 的Java RMI調用
- 26. Java RMI導致「NoSuchObjectException」
- 27. Java RMI無法從外部客戶端連接到主機
- 28. 外部訪問雲中的Spring Java RMI服務
- 29. 太多例外越界 - JAVA
- 30. (Java)Jtable操作和例外
它解決了這個問題。但是,運行客戶端時,我遇到了類似的問題。 線程「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