7

我正在尝试启动我的 Html 项目,但我遇到了一些问题。桌面和 Android 项目运行良好。问题是我有另一个项目用作未导入的库或其他项目。

[ERROR] [com.mobilecostudios.walkingskeleton.GwtDefinition] - Errors in 'file:/C:/Users/chelo/Documents/mobilecostudios-libgdx/trunk/walkingskeleton/WalkingSkeleton/src/com/mobilecostudios/walkingskeleton/GameLoop.java'
[ERROR] [com.mobilecostudios.walkingskeleton.GwtDefinition] - Line 21: No source code is available for type com.mobilecostudios.gamelibrary.Domain.BaseSprite; did you forget to inherit a required module?

我的项目层次结构是:

  • 游戏开发库
  • 行走骨架
  • 行走骨架-html

我的 gwt.xml 是:

    <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit trunk//EN" "http://google-web-toolkit.googlecode.com/svn/trunk/distro-source/core/src/gwt-module.dtd">
<module>
    <inherits name='com.badlogic.gdx.backends.gdx_backends_gwt' />
    <inherits name='GameLoop' />
    <entry-point class='com.mobilecostudios.walkingskeleton.client.GwtLauncher' />
    <set-configuration-property name="gdx.assetpath" value="../WalkingSkeleton-android/assets" />
</module>

我已经将项目添加到构建路径中。我还缺少什么?

构建路径 在此处输入图像描述

4

2 回答 2

7

您必须确保还将项目的源代码添加到您的路径中。将在客户端使用的任何 GWT Java 模块都需要提供其源代码。

在你的情况下,

<inherits name='GameLoop' />

应该:

<inherits name='com.mobilecostudios.walkingskeleton.GameLoop' />

还有,com.mobilecostudios.gamelibrary.Domain.BaseSprite从哪里来?如果它用于客户端,则需要将其添加到模块.gwt.xml文件中。应该是这样的:

<inherits name='com.mobilecostudios.gamelibrary.GameLibrary' />

上面,我假设这GameLibrary.gwt.xml是项目的 GWT 模块 XML 文件,其中包含com.mobilecostudios.gamelibrary.Domain.BaseSprite.

基本上,当您想在客户端在您自己的项目中使用外部 GWT 模块时,您需要通过将源代码和二进制文件添加到您的构建路径来将其导入您的项目,并且您还需要在<inherits name='...'>.gwt.xml的项目文件中添加一个.

于 2013-04-14T21:54:48.517 回答
5

对于具有多个包的项目,您必须为您正在使用的每个包添加一个 .gwt.xml :
为每个包添加一个 xml

如上图所示,我为控制器对象添加了 controller.gwt.xml。为对象添加了 gwt.xml 等等……在这些 .gwt.xml 文件中,您必须编写如下内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit trunk//EN" "http://google-web-toolkit.googlecode.com/svn/trunk/distro-source/core/src/gwt-module.dtd">
<module>
    <source path="com/me/controller" />
</module>

例如,这是我的 controller.gwt.xml,然后将继承标签添加到您的 GwtDefinition.gwt.xml 文件中,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit trunk//EN" "http://google-web-toolkit.googlecode.com/svn/trunk/distro-source/core/src/gwt-module.dtd">
<module>
    <inherits name='com.badlogic.gdx.backends.gdx_backends_gwt' />
    <inherits name='MyGdxGame' />
    <inherits name='objects' />
    <inherits name='settings' />
    <inherits name='controller' />
    <entry-point class='com.me.mygdxgame.client.GwtLauncher' />
    <set-configuration-property name="gdx.assetpath" value="../cannongame-android/assets" />
</module>
于 2014-05-09T18:04:19.123 回答