PlayN / GWT - 您是否忘记继承所需的模块?

时间:2013-10-18 00:08:47

标签: java html gwt playn

当我尝试用HTML编译游戏时,我遇到了一个奇怪的问题。 (我搜索了其他主题,他们指的是进口非法包裹的人,我不是。)

所以基本上,每个在我的主程序包中调用的类和我的主程序包之外都会抛出这个错误。这些类都是由我实现的,他们不会导入任何非法的东西(没有反射,没有I / O,只有自制类和jbox2d)。似乎它忽略了导入或类似的东西。

为了测试这个,我创建了一个名为Test的空类。当它在我的主要包装中时我没有得到任何错误,而当我把它移到外面时,我得到了:

  

[INFO] [ERROR]第73行:没有源代码可用于类型progetto.saga.map.Test;你忘了继承一个必需的模块吗?

在第73行,我只是做Test test = new Test()

这是我的.gwt.xml文件:

<module rename-to='theknowledgetower'>
  <inherits name='playn.PlayN'/>
  <inherits name='TheKnowledgeTowersAssets'/>

  <source path='core'/>
  <source path='html'/>

  <public path="resources" />

  <entry-point class='progetto.saga.html.TheKnowledgeTowersHtml'/>
</module>
你们有什么想法吗?

编辑:这是我得到的错误(我在主包之外的主类中的每个自定义类都得到它)

[INFO]       [ERROR] Line 53: No source code is available for type progetto.saga.navigable.Navigable; did you forget to inherit a required module?
[INFO]       [ERROR] Line 59: No source code is available for type progetto.saga.entity.dynamicentity.Player; did you forget to inherit a required module?
[INFO]       [ERROR] Line 110: No source code is available for type progetto.saga.navigable.button.Button; did you forget to inherit a required module?
[INFO]       [ERROR] Line 114: No source code is available for type progetto.saga.navigable.menu.HomeMenu; did you forget to inherit a required module?
[INFO]       [ERROR] Line 115: No source code is available for type progetto.saga.navigable.GameLoop; did you forget to inherit a required module?
[INFO]       [ERROR] Line 116: No source code is available for type progetto.saga.navigable.menu.CreationMenu; did you forget to inherit a required module?
[INFO]       [ERROR] Line 117: No source code is available for type progetto.saga.navigable.LoadingScreen; did you forget to inherit a required module?
[INFO]       [ERROR] Line 152: No source code is available for type progetto.saga.navigable.menu.GameMenu; did you forget to inherit a required module?
[INFO]       [ERROR] Line 153: No source code is available for type progetto.saga.map.cell.TowerFloor; did you forget to inherit a required module?
[INFO]       [ERROR] Line 154: No source code is available for type progetto.saga.map.cell.TowerWall; did you forget to inherit a required module?
[INFO]       [ERROR] Line 155: No source code is available for type progetto.saga.map.cell.TowerDecoration; did you forget to inherit a required module?
[INFO]       [ERROR] Line 156: No source code is available for type progetto.saga.entity.dynamicentity.enemy.Enemy; did you forget to inherit a required module?
[INFO]       [ERROR] Line 157: No source code is available for type progetto.saga.gui.Bar; did you forget to inherit a required module?
[INFO]       [ERROR] Line 158: No source code is available for type progetto.saga.entity.dynamicentity.equip.Equip; did you forget to inherit a required module?
[INFO]       [ERROR] Line 159: No source code is available for type progetto.saga.entity.dynamicentity.equip.Shield; did you forget to inherit a required module?
[INFO]       [ERROR] Line 160: No source code is available for type progetto.saga.entity.dynamicentity.spell.Spell; did you forget to inherit a required module?
[INFO]       [ERROR] Line 161: No source code is available for type progetto.saga.entity.staticentity.StorableDrop; did you forget to inherit a required module?
[INFO]       [ERROR] Line 162: No source code is available for type progetto.saga.entity.staticentity.Item; did you forget to inherit a required module?

2 个答案:

答案 0 :(得分:16)

GWT仅看到生活在<source>文件的gwt.xml元素中列出的子包中的类。

因此,您必须为要加载类的每个子包添加<source path="navigable"/>(来自错误消息navigableentitymap,{{ 1}}等等。)

请参阅http://www.gwtproject.org/doc/latest/DevGuideOrganizingProjects.html#DevGuideModules

答案 1 :(得分:0)

如果没有定义<source>元素,那么默认情况下GWT会查看客户端路径,因此如果您在客户端软件包下移动文件,它也可以正常工作。