2009-12-28 56 views
2

我試圖得到一個RMI激活服務器的工作 - 但至今沒有運氣。其實服務器似乎運行,但客戶端觸發一個奇怪的例外。RMI激活奇怪的問題

我有3個項目:

  • 客戶
  • 共同
  • 服務器

常見的是共享客戶端和服務器(如遠程接口)之間的代碼。

步驟我跟隨(被適應this tutorial):

  • 啓動註冊表 - >確定
  • 運行的rmid - >確定
  • 啓動服務器設置 - >確定
  • 啓動客戶端 - - >BOOM!因爲在共同類不是在服務器線程與NoClassDefFoundError的發現激活失敗。

我在服務器的代碼庫中包含公共類文件,因此這些文件夾/接口應該可用於服務器。它棄暗投明的遠程接口本身 - 所以唯一的選擇似乎把所有普通代碼的服務器代碼,但這樣一來,客戶端代碼必須知道哪些平原吸服務器代碼。

我做了一些瀏覽,看起來像this guy here已經得到了確切的同樣的問題。

看起來在這兩種情況下,當其他一些包的激活服務器引用類(在我的情況下,它的鏈接定製包以上是第三方)這種情況正在發生。

我真的是在虧損這裏 - 所以任何想法,將不勝感激!

編輯:一些額外的信息 - 我試圖調試問題。看來,客戶端檢索主題中的遠程對象就好了(引用不爲null)。一旦遠程接口(客戶端知道該接口)的方法被調用,就會拋出異常。如果一號方法調用時激活,那麼這是很明顯的 - 但不是太肯定,當它實際上試圖激活遠程對象/服務器。

回答

2

您是否在安裝過程中在服務器上的可激活類的位置中包含了常見包中的類?如果您有多條路徑,請確保使用空格分隔它們。

+0

嗯...我其實是缺少路徑中的類* *共同的ActivationDesc的位置參數...感謝這麼多的察覺這個! – JohnIdol 2009-12-29 04:08:05