使用Google App Engine项目参考的Java NoClassDefFoundError

时间:2012-05-21 18:24:34

标签: java eclipse google-app-engine ant

我有一个Java Google App Engine项目,它在另一个项目中引用了一个类,在运行时,我得到了NoClassDefFoundError。

我会将我的Google App Engine项目称为“主要”,其项目依赖于“ Sub

看起来运行时错误的原因是在WEB-INF / lib中找不到 Sub 的jar。在eclipse中,当我将 Sub 导出为jar并将其复制到WEB-INF / lib文件夹中时,一切正常。每次我在 Sub 中更改文件时,是否需要这样做?

来自Visual Studio世界,我习惯于将项目构建到dll中,并将这些项目复制到依赖于它们的“bin”文件夹中。我以为eclipse会支持类似的东西,但我没有看到它。解决这个问题的正确方法是什么?蚂蚁脚本?

1 个答案:

答案 0 :(得分:2)

是的 - 当您在.NET中看到.dll时,请考虑Java EE中的JAR。

如果依赖JAR发生更改,则必须更新Web应用程序的WEB-INF / lib内容。

我不确定Eclipse如何处理依赖项。在IntelliJ中,如果我希望或完全按照上面描述的方式处理依赖JAR,我可以在两个单独的模块之间创建依赖关系。

我认为最好的办法是使用Ant脚本,特别是如果您已经有一个用于创建WAR文件的脚本。

相关问题