我有一个 GWT 游戏项目。我想将一些基类提取到一个可以与我所有其他 GWT 游戏项目共享的项目中。就像是:
- FarmFrenzyFinale (gwt 游戏项目)
- AcesOverNewYork(gwt 游戏项目)
- mylib(以上两个可以导入的共享项目)
项目“mylib”将包含一些通用的东西,比如欧几里德距离方法,也可能是其他一些在 GWT 特定类上运行的方法,比如将标签添加到 RootPanel。
在阅读了很多关于这个主题的帖子之后,似乎如果我们希望“mylib”包含在 GWT 客户端代码中,我们需要有特定的包命名和一个 projectname.gwt.xml 文件。应该看起来像:
|- com.me.mylib
| |---- mylib.gwt.xml // not sure of the contents here
|
|- com.me.mylib.client
| |---- classes you want included clientside go here.
以上是正确的吗?如果是这样,在eclipse中创建项目时,我们是只创建一个新的“java项目”,还是应该创建一个新的“Web应用程序”项目?一个新的“web 应用程序”项目将为我们创建一个独立的 gwt 项目,所以我猜我们可以只做一个普通的旧“java 项目”,只要我们设置上面的结构就可以了。
然后在上述设置完成后,我们可以将“mylib”添加到游戏的类路径中(farm frenzy 等)。只需右键单击项目,属性 -> java 构建路径 -> 项目 -> 添加?
谢谢
- - - - 更新 - - - - - - - -
这是我的项目目前的样子:
AcesOverNewYork
|-- com.me.acesovernewyork
| |-- acesovernewyork.gwt.xml
|-- com.me.acesovernewyork.client
|-- all java files here, great.
mylib (not a gwt project, just a java project)
|-- com.me.mylib.client
|-- Foo.java
现在 AcesOverNewYork (AONY) 在类路径中添加了“mylib”作为项目(在 Eclipse 中,右键单击 AONY,属性 -> Java 构建路径 -> 项目 -> 添加 -> “mylib”。
我在 AONY 中使用 Foo 类,编译得很好。当我尝试运行 AONY 时,出现运行时错误:
"No source code is available for type com.me.mylib.client.Foo;
did you forget to inherit a required module?"
我的 acesovernewyork.gwt.xml 文件包含以下内容:
<source path='client'/>
嗯,我在这里还缺少什么?
谢谢