每一件事情作爲工作在客戶端和服務器在同一系統上運行得很好,,但我在遠程M/C運行其中的一個,還有我使用針對VMware的, 客戶端是無法找到服務器的存根(stub)和服務器無法找到動態加載的客戶端類。RMI代碼庫的設置問題
我確定它的問題與我設置代碼庫url的方式有關,但應如何更改它們。
目前,我將它們設置爲
文件:/ E:/ surshikradmin /工作區/ RMI-server/bin目錄/服務器..
和種類的客戶端相同的方式.. 應該怎麼添加主機名稱,但如何? 任何幫助將是非常有用的,因爲它已經多年,我正在處理問題和解決它將使項目去搖滾..
客戶端堆棧跟蹤,如果它coul幫助!
Computeappengine exceptionerror unmarshalling return; nested exception is:
java.lang.ClassNotFoundException: Engine.ComputeappEngine_Stub
java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
java.lang.ClassNotFoundException: Engine.ComputeappEngine_Stub
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at Client.computeappprog.main(computeappprog.java:23)
Caused by: java.lang.ClassNotFoundException: Engine.ComputeappEngine_Stub
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:432)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:163)
at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:620)
at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:247)
at sun.rmi.server.MarshalInputStream.resolveClass(MarshalInputStream.java:197)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1574)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
... 2 more
1.codebase也設置在客戶端,如果服務器應該從客戶端動態加載類,糾正我,如果我錯了。2.共享驅動器可能工作,但如果ma客戶端和服務器連接互聯網,,將一個共享設備工作,或製作一個rmi項目迫使你擁有一個網站.. – pcc
(1)包括在我說的內容中。再讀一遍。我談到了導出遠程對象的JVM,而不是關於當時的服務器和客戶端。 (2)共享文件系統不能在Internet上運行。這就是我提到HTTP的原因。 (3)我不知道你最後一句話的意思。 – EJP
毫安最後一句簡單的意思是,如果我提到的基本代碼URL,就像這樣HTTP://url.com ,,那麼他們必須有一些網站,我把我的共享源代碼,,這意味着我必須使用一些網站建設項目,通過互聯網..我不能建立一個成功的rmi項目,而不使用提供共享代碼的Web服務器。 – pcc