我在写一个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