我有一个GWT游戏项目。我想将一些基类放到一个可以与我所有其他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项目,所以我猜测只要我们将结构设置为ok,我们就可以做一个普通的“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” 添加项目在classpath(在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'/>
嗯,所以还有什么我错过了?
谢谢
mylib,它是否包含客户端代码? – 2012-08-07 12:40:07
是的,它会引用GWT类等。 – user291701 2012-08-07 13:43:36