【问题标题】:NoClassDefFoundError on Google App EngineGoogle App Engine 上的 NoClassDefFoundError
【发布时间】:2013-03-27 04:14:59
【问题描述】:

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

我的原始项目的所有包和类都在同一个项目中,并且在开发模式和上传到 Internet 上的 Google App Engine 时都能正常工作。

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

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

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

加斯顿·塞隆

【问题讨论】:

  • 您不必制作 JAR,但您必须以某种方式将该代码上传到 AppEngine。最简单的是复制到 WEB-INF/lib 的 JAR。
  • 谢谢,我怀疑我毕竟需要 jar 文件。

标签: eclipse google-app-engine noclassdeffounderror


【解决方案1】:

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

如果你可以使用maven或ant,你可能可以设置appengine将另一个项目编译成一个jar,并将其用作app engine项目的依赖项。

【讨论】:

  • 谢谢,我对 Java 了解不多,我试图避免制作 Jar 文件。现在我知道得更多了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-10
  • 1970-01-01
  • 2011-04-09
  • 2013-05-18
  • 2011-10-04
  • 2015-10-01
相关资源
最近更新 更多