Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
导入Java项目以在Java动态Web项目中使用_Java_Eclipse_Dynamic_Import_Project - Fatal编程技术网

导入Java项目以在Java动态Web项目中使用

导入Java项目以在Java动态Web项目中使用,java,eclipse,dynamic,import,project,Java,Eclipse,Dynamic,Import,Project,在我的Java动态Web项目中,我正在使用构建路径导入另一个Java项目,以便查询类并使用Java反射。在编写我的类时,我最初通过将其作为Java应用程序运行来对其进行测试,并且它工作正常。然而,我现在使用同一个类作为动态web项目的一部分,它似乎无法访问导入的Java项目。我已尝试在Eclipse中将其导入到我的项目引用中,但它仍然不起作用,并输出以下错误: HTTP Status 500 - javax.servlet.ServletException: java.lang.NoClassD

在我的Java动态Web项目中,我正在使用构建路径导入另一个Java项目,以便查询类并使用Java反射。在编写我的类时,我最初通过将其作为Java应用程序运行来对其进行测试,并且它工作正常。然而,我现在使用同一个类作为动态web项目的一部分,它似乎无法访问导入的Java项目。我已尝试在Eclipse中将其导入到我的项目引用中,但它仍然不起作用,并输出以下错误:

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)

能否打开已部署的war文件并检查该类文件是否位于WEB-INF/classes中?如果是这种情况,请检查buildpath中的
源选项卡

是否可以打开已部署的war文件并检查该类文件是否位于WEB-INF/classes中?如果是这种情况,请检查buildpath中的
源选项卡
检查项目属性>部署程序集配置。转到添加并选择项目>下一步并选择您的项目。现在,这将只包括项目的类。如果Java项目包含外部JAR引用或其他JAR引用,则还必须手动将它们包含在新的Web项目中,方法是将它们复制到
Web-INF/lib
,或将它们作为外部JAR添加。如果执行第二个操作,请不要忘记在“订单和导出”选项卡中标记它们。

检查您的项目属性>部署程序集配置。转到添加并选择项目>下一步并选择您的项目。现在,这将只包括项目的类。如果Java项目包含外部JAR引用或其他JAR引用,则还必须手动将它们包含在新的Web项目中,方法是将它们复制到
Web-INF/lib
,或将它们作为外部JAR添加。如果执行第二个操作,请不要忘记在“订单和导出”选项卡中标记它们。

我查看了部署程序集,但没有添加Java构建路径项,但是我导入的项目没有显示在Java构建路径项中,可能是因为它不是.JAR,而是未编译的项目。在部署程序集窗口中,当您单击Add…,而不是选择Java构建路径条目时,选择Project>Next并在那里选择它。这应该可以做到。如果它有效,我将更新答案。这似乎解决了问题,但却出现了一条新的错误消息:
HTTPStatus 500-javax.servlet.ServletException:java.lang.NoClassDefFoundError:org/openqa/selenium/NoAlertPresentException
这是java项目的
jar
参考设置吗?如果是,您只需要手动将其包含在WEB项目的
WEB-INF/lib
中,或者将其作为外部JAR引用(不要忘记在“顺序和导出”设置中检查它)。通过标准的Eclipse选项设置依赖项是非常困难的,我建议在这方面使用Maven。我有一个项目,用于添加jar文件的自动化测试。我想做的是为应用程序构建一个前端,我有一个脚本,它将检查特定类中包含哪些方法,然后将这些方法保存到数据库中。我对频繁更新的外部jar文件不感兴趣,我只想让我的脚本加载不总是已知的特定类并检查它们的内容。我查看了部署程序集,没有添加我的Java构建路径条目,但是我导入的项目没有出现在Java构建路径条目中,可能是因为它不是一个.JAR,而是一个未编译的项目。在部署程序集窗口上,当您单击Add…,而不是选择Java构建路径条目时,选择project>Next并在那里选择它。这应该可以做到。如果它有效,我将更新答案。这似乎解决了问题,但却出现了一条新的错误消息:
HTTPStatus 500-javax.servlet.ServletException:java.lang.NoClassDefFoundError:org/openqa/selenium/NoAlertPresentException
这是java项目的
jar
参考设置吗?如果是,您只需要手动将其包含在WEB项目的
WEB-INF/lib
中,或者将其作为外部JAR引用(不要忘记在“顺序和导出”设置中检查它)。通过标准的Eclipse选项设置依赖项是非常困难的,我建议在这方面使用Maven。我有一个项目,用于添加jar文件的自动化测试。我想做的是为应用程序构建一个前端,我有一个脚本,它将检查特定类中包含哪些方法,然后将这些方法保存到数据库中。我对频繁更新的外部jar文件不感兴趣,我希望我的脚本所做的只是加载不总是已知的特定类并检查它们的内容。