Google App Engine上的NoClassDefFoundError

时间:2013-03-27 04:15:00

标签: eclipse google-app-engine noclassdeffounderror

我正在使用GWT和GAE在Eclipse Juno上开发一个项目。

我的原始项目在同一个项目中拥有所有的包和类,它在开发模式和上传到互联网上的Google App Engine时都运行良好。

然后我创建了另一个项目(在同一个工作区),我移动了通用的类,以便它们可以用于其他项目。我还没有创建一个Jar文件。我一定要吗?我希望我可以将我的泛型类保存在另一个项目上而不将它们放在jar文件中。

过了一段时间,我能够在两个项目上创建正确的XXX.gwt.xml文件,并将新项目添加到主项目属性的“项目”选项卡中(项目>>属性>>项目)使移动的类对主项目可见。 GWT编译器找到了那些移动的类,将它们翻译成Javascript代码,主项目能够在客户端执行它们。

我的问题出在服务器端。无论我尝试什么,服务器部分都找不到移动的类,当尝试执行其中任何一个时,它在开发模式下运行时出现“NoClassDefFoundError”错误(我没有尝试上传到Internet上的Google App Engine然而)。 如果我在服务器端注释掉所有对这些类的引用,则错误不会显示,但当然我没有它们的功能。

Gaston Ceron

1 个答案:

答案 0 :(得分:0)

是的,您必须创建第二个项目的jar,并将其放在WEB-INF / lib文件夹中。

如果你可以使用maven或ant,你可以设置appengine将其他项目编译成jar并将其用作app引擎项目的依赖项。