我正在开发一个动态网络项目(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上运行
提前致谢
答案 0 :(得分:3)
您的问题不是编译时间,而是类加载时的运行时。一些快速调试点...
如果要从Web项目生成WAR / EAR,请确保您的java项目在已安装的应用程序中的WEB-INF / lib中添加了.jar实用程序(文件夹可能因Web /应用程序而异)你正在使用的服务器)。
如果您使用IDE进行部署(例如Eclipse),请访问Web项目的“Property”选项卡,确保您的Java项目正确“Project Referenced”。您也可以将此java项目用作共享库,并从服务器管理控制台进行相应的配置,并根据您使用的服务器进行配置,它可能会有所不同。
希望这有帮助。
答案 1 :(得分:0)
我说你正在使用ANT来编译你的项目(An eclipse ANT projet)。右键单击您的项目,选择“部署程序集”'然后添加选项以选择要作为参考的项目。