在动态 Web 项目中无法从导入的 java 项目中找到 类

Can't find classes from imported java project in dynamic web project

我正在开发一个动态 Web 项目(REST 服务),它导入了我之前创建的 java 项目。现在我正在尝试将项目添加到构建路径以使用 java 项目中的 类。写这个时它没有给出错误但是在运行时服务给出了以下错误:

SEVERE: Servlet.service() for servlet [Jersey REST Service] in context with path [/pathname] threw exception [org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: Controller/Generator] with root cause
java.lang.ClassNotFoundException: Controller.Generator

任何人都可以告诉我错误和给定上下文的问题是什么吗? 否则我可以上传项目进行进一步调试。

该项目在 Tomcat 7.0

上运行

提前致谢

我假设您正在使用 ANT 编译您的项目(An eclipse ANT projet)。右键单击您的项目,select 'Deployment Assembly' 然后将选项添加到 select 您要引用的项目。

您的问题不是编译时间问题,而是 class 加载时的运行时间问题。调试的一些快速要点...

  1. 如果您从 Web 项目生成 WAR/ EAR,请确保您的 java 项目在 WEB-INF/lib 中添加了一个 .jar 实用程序安装的应用程序(文件夹可能因您使用的 Web/应用程序服务器而异)。

  2. 如果您使用 IDE 进行部署(例如 Eclipse),请访问 [=25= 确保您的 java 项目正确 'Project Referenced' ] 选项卡。您还可以将这个 java 项目用作共享库,并从您的服务器管理控制台进行相应的配置,并且根据您使用的服务器,它可能会有所不同。

希望对您有所帮助。