2011-11-10 53 views
0

我需要幫助,我正在設計一個使用GWT作爲前端的應用程序。所以我正在編寫一個包裝類作爲應用程序的主窗口,條件是如果我在客戶端包內創建這個類,它工作正常,但如果我創建客戶端包外的文件它不加載。我得到的例外是:GWT應用程序錯誤 - 無法在客戶端包外部添加GWT類

[ERROR] [questwebtoolweb] - Line 27: No source code is available for type com.ibm.projects.qwt.client.ui.ApplicationDefaultWindow; did you forget to inherit a required module? 

,如果你需要我可以告訴你我的應用程序的代碼。但是,如果我把東西放在客戶端模塊中,那代碼工作正常。

我會真正appriciate你的幫助。

回答

1

在GWT中,遵循特殊的包結構約定很重要。

每個GWT模塊可以有一個子包client爲客戶端代碼,一個server包服務器端代碼等RPC servlet和像CSS文件或圖像的靜態文件的子目錄public

有關詳細信息以及如何重新定義這些軟件包名稱,請閱讀GWT文檔文章Organize Projects

所以其實質是,如果你的類不在客戶端包下,那麼GWT編譯器不會將它編譯爲用於客戶端代碼的JavaScript。

+0

首先感謝vanje ..但我在客戶端軟件包的子包中寫這個類,谷歌codline說你可以在客戶端的子包中編寫客戶端代碼。 Guidline:在客戶端和服務器包中,您可以自由地將代碼組織到您需要的任何子包中。 – Mike

+0

是模塊客戶端軟件包的子軟件包也可以。您必須確保客戶端軟件包位於GWT模塊(模塊GWT XML文件所在的軟件包)內,並且您的模塊由主模塊繼承。你能用你的GWT模塊XML文件向我們展示你的包結構嗎? – vanje