Gwt 是否使用服务器端引用项目中的java类?
我有一个GWT项目,我想在服务器端使用另一个项目中的一些类:Gwt 是否使用服务器端引用项目中的java类?,gwt,Gwt,我有一个GWT项目,我想在服务器端使用另一个项目中的一些类: MyServerProject com.me.myserverproject.server.Horse SomeSupportProject com.me.somesupportproject.server.Animal MyServerProject Horse.java看起来像: class Horse extends Animal { } 在eclipse中,我让MyServerProject引用SomeS
MyServerProject
com.me.myserverproject.server.Horse
SomeSupportProject
com.me.somesupportproject.server.Animal
MyServerProject Horse.java看起来像:
class Horse extends Animal {
}
在eclipse中,我让MyServerProject引用SomeSupportProject项目。所有编译都很好,GWT编译运行也很好,没有错误
当我将MyServerProject部署到本地实例时,它会立即在Animal.java上抛出NoClassDefFoundError错误:
java.lang.NoClassDefFoundError: com/me/somesupportproject/server/Animal
at java.lang.ClassLoader.defineClass1(Native Method)
我在eclipse项目属性中将SomeSupportProject标记为导出。但是,似乎在部署时没有导出Animal.java的类文件。我们需要做些特别的事情才能让它发挥作用吗
我肯定错过了一些非常明显的东西,因为这是非常基本的东西。我已经很好地引用了客户端java文件,我认为这是更棘手的情况。但这些都是服务器端类,虽然这样更简单
谢谢
----更新:项目设置--------
关于我的环境的一些注意事项:
使用eclipse,这两个项目是并排的。我没有使用Ant或Maven。我将eclipse设置为自动构建,因此不会在那里出现任何编译器错误。为了实际编译部署,我尝试右键单击MyServerProject,选择Google->GWT compile。我将输出设置为all。我没有得到任何编译错误。输出没有提到任何警告
GWT编译完成后,我再次右键单击该项目,选择RunAs->Web应用程序。这就是在SomeSupportProject项目中找到的类抛出java.lang.NoClassDefFoundError的原因
如果有任何细节可以帮助我,请告诉我
-----最终更新:已解决---------
在进一步研究这个问题之后,我们似乎无法添加项目引用,也无法在部署的顶级项目中遇到服务器端类。相反,我链接到SomeSupportProject中的src文件夹。这使得事情仍然可以正常编译,但当您部署项目时,所有类都会被找到,不会出现问题 所以这确实是一个应用引擎问题,应该在下面加上标签
谢谢 在进一步研究这个问题之后,我们似乎无法添加项目引用,也无法在部署的顶级项目中遇到服务器端类。相反,我链接到SomeSupportProject中的src文件夹。这使得事情仍然可以正常编译,但当您部署项目时,所有类都会被找到,不会出现问题 所以这确实是一个应用引擎问题,应该在下面加上标签
谢谢 您可以指定如何使用ant或maven设置eclipse/GPE项目吗?好的,请在我的设置中添加一些注释进行更新。您可能选择引用旧项目,但没有在源路径中包含旧项目。