不能在GWT的客户端包中使用类

时间:2009-05-02 21:17:51

标签: java gwt

我正在尝试使用包中声明的myType类 com.mycompany.myproject存在于一个类中 com.mycompany.myproject.client但我收到以下错误 编译时:

  

[错误]行[X]:导入com.mycompany.myproject.myType不能   解决

如果我尝试运行托管浏览器,我会得到:

  

[错误]行[X]:没有可用于类型的源代码   com.mycompany.myproject.myType;你忘了继承一个必需的   模块?

有什么想法吗?

4 个答案:

答案 0 :(得分:5)

此错误表示GWT编译器找不到您的类。 GWT编译器只能找到项目的.gwt.xml文件引用的类。

这一切都在这里解释: http://code.google.com/webtoolkit/doc/latest/DevGuideOrganizingProjects.html

答案 1 :(得分:1)

编译器首先扫描应用程序的module.gwt.XML。然后,模块XML可以继承或继承其他模块xml。模块还可以声明他们希望哪些包对编译器可见。

不仅要将.java文件放在编译路径上,而且必须放置模块XML机制。这是因为并非所有子包都应该是可转换的,例如,一个与客户端目标组件相称的servlet组件。

答案 2 :(得分:1)

项目结构:

  • com.mycompany.service
  • com.mycompany.myproject
    • 客户端
    • 服务
    • myproject.gwt.xml

默认情况下,源包是与客户端放在同一目录中的“客户端” gwt.xml文件。如果要添加或更改源目录,则必须编辑gwt.xml。

1)例如,你想要gwt包“com.my~ny.p~ctvice”可用。 在gwt.xml文件中添加< source path =“service”/>。

路径属性值,例如“../”,“。” - 不行。

2)如果你想提供“com.my~ny.service”包。

在com.mycompany中创建模块(gwt.xml文件),
你有点源目录的地方 并继承默认的gwt用户模块。

答案 3 :(得分:0)

我遇到了类似的问题,我设法找到了workaround,这可能对你有所帮助。