0

我正在编写一个 rmi 应用程序。当我将所有类放在一个目录中时,一切正常。但是,当我尝试拆分服务器部分和客户端部分时,它会引发 java.lang.ClassNotFoundException.myclasses 这似乎是注册表在其 CLASSPATH 上找不到该类。我想知道如何解决这个问题?

4

2 回答 2

0

您是否在客户端和服务器的参数中指定类路径目录?

从教程:

服务器

在 Solaris 操作系统上:

java -classpath classDir -Djava.rmi.server.codebase=file:classDir/example.hello.Server &

在 Windows 平台上:

启动 java -classpath classDir -Djava.rmi.server.codebase=file:classDir/example.hello.Server

服务器准备就绪后,客户端可以按如下方式运行:

java -classpath classDir example.hello.Client 其中classDir是类文件树的根目录

http://java.sun.com/javase/6/docs/technotes/guides/rmi/hello/hello-world.html#5

于 2009-09-27T18:08:20.423 回答
-1

注册表用于将客户端接口与其服务器实现类链接起来。在客户端上,您需要在类路径上有接口类定义。

此外,客户端根本不应该引用实现类——一切都应该在接口/存根类中。

如果这不能回答您的问题,您需要更具体并至少提供一些代码。

于 2009-09-27T17:54:29.747 回答