我正在研究一个大学项目的RMI,而我遇到了一个问题。从我所读的书中,Java版本5及更高版本应自动生成必要的存根文件(据我了解,以前需要执行其他步骤)。
但是,在这里按照本教程http://download.oracle.com/javase/6/docs/technotes/guides/rmi/hello/hello-world.html并用Javac编译我的类之后,香港专业教育学院只得到了标准的类文件,没有存根文件的迹象。
这在我尝试运行我的项目时得到了确认,我的应用程序崩溃是因为它找不到任何存根文件。我想念什么吗?
注意,运行java -version
给了我这个:
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b07)
Java HotSpot(TM) 64-Bit Server VM (build 17.0-b17, mixed mode)
最佳答案
我相信你用过类似的东西
RemoteInterface stub =
(RemoteInterface) UnicastRemoteObject.exportObject(server);
在您的服务器中,而不是
RemoteInterface stub =
(RemoteInterface) UnicastRemoteObject.exportObject(server, 0);
注意
exportObject()
的两个参数-第二个版本返回不同的类型。这确实对我有所作为。