2011-11-10 56 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