在我的Java动态Web项目中我正在使用构建路径导入另一个Java项目,以便我可以查询这些类并使用Java反射。在编写我的课程时,我最初通过将它作为Java应用程序运行来测试它,并且它工作正常。然而,我现在使用相同的类作为动态Web项目的一部分,它似乎无法访问导入的Java项目。我曾尝试将它导入到Eclipse中我的项目引用,它仍然无法正常工作,输出以下错误:导入Java项目以在Java动态Web项目中使用
HTTP Status 500 - javax.servlet.ServletException: java.lang.NoClassDefFoundError: com/q1labs/qa/selenium/widgets/WidgetHandler
--------------------------------------------------------------------------------
type Exception report
message javax.servlet.ServletException: java.lang.NoClassDefFoundError: com/q1labs/qa/selenium/widgets/WidgetHandler
description The server encountered an internal error (javax.servlet.ServletException: java.lang.NoClassDefFoundError: com/q1labs/qa/selenium/widgets/WidgetHandler) that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: com/q1labs/qa/selenium/widgets/WidgetHandler
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause
javax.servlet.ServletException: java.lang.NoClassDefFoundError: com/q1labs/qa/selenium/widgets/WidgetHandler
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:911)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:840)
org.apache.jsp.UpdatingDb_jsp._jspService(UpdatingDb_jsp.java:98)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause
java.lang.NoClassDefFoundError: com/q1labs/qa/selenium/widgets/WidgetHandler
com.q1labs.qa.xmlgenerator.controller.updatedb.DbUpdateScript.updateObjectTypes(DbUpdateScript.java:40)
com.q1labs.qa.xmlgenerator.controller.updatedb.DbUpdateScript.updateDb(DbUpdateScript.java:31)
org.apache.jsp.UpdatingDb_jsp._jspService(UpdatingDb_jsp.java:88)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
我查看了部署程序集,并未添加我的Java构建路径条目,但是我导入的项目没有出现在Java构建路径条目中,可能是因为它不是.JAR而是未编译的项目。 – Colin747
在** Deployment Assembly **窗口中,当您单击** Add ... **时,而不是选择_Java Build Path Entries_,请选择_Project> Next_并在那里选择它。这应该可以做到这一点。如果有效,我会更新答案。 – betomontejo
这似乎解决了这个问题只是为了迎接一个新的错误信息: 'HTTP状态500 - javax.servlet.ServletException:java.lang.NoClassDefFoundError:org/openqa/selenium/NoAlertPresentException' – Colin747