我已按照以下教程制作我的RMI内容Activatable http://docs.oracle.com/javase/1.4.2/docs/guide/rmi/activation/activation.2.html
所以我启动注册表,运行rmid,然后运行服务器。这一切都很顺利。
当我尝试连接客户端时,我得到以下例外:
java.rmi.activation.ActivateFailedException: activation failed; nested exception is:
java.rmi.activation.ActivationException: unable to activate object; nested exception is:
java.lang.ClassNotFoundException: server.Service
at sun.rmi.server.ActivatableRef.activate(ActivatableRef.java:285)
at sun.rmi.server.ActivatableRef.invoke(ActivatableRef.java:114)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:178)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132)
at $Proxy0.register(Unknown Source)
at client.BasicClient.<init>(BasicClient.java:27)
at client.NormalClient.<init>(NormalClient.java:11)
at client.ShippingClient.main(ShippingClient.java:24)
我运行的网络服务器还包含我的服务器项目的bin文件夹。
我还想指出,当一切都是基于UnicastRemoteObject的时候,它一切正常(并且仍然有效)!
提前致谢
答案 0 :(得分:1)
java.lang.ClassNotFoundException: server.Service
那里有你的答案。客户端,或者可能是rmid,找不到那个类。