我正在嘗試將GWT和OSGi(Equinox)集成爲爲我的模塊化系統的其餘部分提供基於Web的UI。到目前爲止,我已經設法將GWT servlet嵌入到OSGi模塊中。嘗試將GWT整合到OSGi包中
我正在使用由GWT插件生成的GWT示例代碼項目,它由3個包組成:客戶端,服務器和共享。服務器包中的類(ui.server.GreetingServiceImpl
)實現客戶機包(ui.client.GreetingService
)中的接口,並且它們全部位於同一個包中。
當我試圖讓從客戶端網頁中的遠程過程調用我的錯誤:
IncompatibleRemoteServiceException: Could not locate requested interface 'ui.client.GreetingService' in default classloader
我推測,該類不是由類加載器找到,但我不知道如何解決這個問題。我可以通過要求或導入它們來訪問其他包中的類,但不能訪問與實現類位於同一包中的接口。任何人都可以將我指向正確的方向嗎?我一直在Google上搜索幾個小時。
感謝您的回覆。我設法讓它工作,事實證明我有一個循環依賴,我沒有意識到,該接口是從包外部訪問,包含包裝的GWT罐子的包。我通過向我的ui bundle的清單文件添加一個'Eclipse-RegisterBuddy:GWT-bundle'行,並向GWT bundle的清單添加一個'Eclipse-BuddyPolicy:registered'行來修復它。我會看看你鏈接的那個項目。 – clangenhoven 2011-05-17 09:53:17