1

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

我将调用我的 Google App Engine 项目“ Main ”和它依赖的项目“ Sub

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

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

4

1 回答 1

2

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

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

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

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

于 2012-05-21T18:28:05.283 回答