我有一个 Vaadin 项目和一个外部 Java 项目。我想从 Vaadin 调用外部项目中的代码。我在 Eclipse 中导入了两个项目,并且 Vaadin 项目引用了 Eclipse Java Build Path
中的外部项目。 Eclipse 没有报告错误,但是当我将 Vaadin 应用程序部署到 Tomcat 时(使用 Project > Run As > Run on Server
),出现以下错误:
HTTP Status 500 - java.lang.NoClassDefFoundError: com/example/MyClass
请注意,Vaadin 项目基于 Ivy,而不是 Maven。
我尝试搜索 Vaadin 外部项目依赖项,但没有成功。对于有关如何使用 Vaadin 的外部项目代码的任何建议,我将不胜感激。
最佳答案
解决方案是将外部项目添加到 Eclipse 中 Tomcat 实例的类路径中。选择
Run > Run Configurations > Apache Tomcat > (your Tomcat instance) > Classpath
点击Add Projects...
并添加所需的项目。
这将有助于发展。对于部署,外部项目必须打包为 .jar 文件的库,并手动(或使用构建脚本)复制到 WEB-INF/lib
Vaadin 项目的目录(请参阅 Vaadin 论坛上的 this answer)。
关于java - Vaadin 中的外部项目依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16569069/