如何在gwt项目之间建立共享项目?

时间:2012-08-07 12:38:08

标签: gwt

我有一个GWT游戏项目。我想把一些基类拉到一个可以与我所有其他GWT游戏项目共享的项目中。类似的东西:

  • FarmFrenzyFinale(gwt游戏项目)
  • AcesOverNewYork(gwt游戏项目)
  • mylib(以上两个可以导入的共享项目)

项目“mylib”会有一些通用的东西,比如可能是欧几里德距离方法,也许还有一些其他方法可以在特定于GWT的类上运行,比如将一个Label添加到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应用程序”项目?一个新的“网络应用程序”项目将为我们创建一个独立的gwt项目,所以我猜我们可以只做一个普通的“java项目”,只要我们设置上面的结构就可以了。

然后在上面的设置之后,我们可以将“mylib”添加到游戏的类路径中(农场疯狂等)。这可以简单地点击项目,属性 - > 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'/>

嗯,我还缺少什么?

由于

2 个答案:

答案 0 :(得分:0)

我不知道你是否听说过maven。实际上它并不重要,但maven有一个关于设置多项目GWT的教程。即使您不使用maven,也应检查它是否包含有用的信息。

http://mojo.codehaus.org/gwt-maven-plugin/user-guide/multiproject.html

如果您不打算使用maven,可以跳过POM部分,所有其余代码都是纯GWT

答案 1 :(得分:0)

  • 对于库项目,您可以使用简单的Java项目。
  • 您不需要“mylib.gwt.xml”
  • 是的,您只需右键单击项目,属性 - &gt; java构建路径 - &gt;项目 - &gt;添加

如果您将游戏的.gwt.xml文件放入“com.me”(在他们的项目中),并添加<source path='client' />,那么您所要做的就是创建一个“com.me.客户“在你的游戏项目和你的图书馆项目中打包。