2012-09-28 5 views
1

В моем Java Dynamic Web Project я импортирую другой проект Java, используя Build Path, чтобы я мог запрашивать классы и использовать отражения Java. При написании моего класса я сначала протестировал его, запустив его как приложение Java, и он сработал. Однако теперь я использую тот же класс, что и часть динамического веб-проекта, который, похоже, не может получить доступ к импортированному Java-проекту. Я пытался импортировать его в мои ссылки проекта в Eclipse, и он по-прежнему не работает и выдает следующее сообщение об ошибке:Импорт проекта Java для использования в Java Dynamic Web Project

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) 

ответ

6

Проверьте свои Свойства проекта> Конфигурация развертывания. Перейдите на страницу Добавить и выберите Проект>Следующий и выберите ваш проект. Теперь это будет включать только классы вашего проекта. Если ваш проект Java включает внешние или другие ссылки JAR, вы также должны включить их вручную в свой новый веб-проект, скопировав их на ваш WEB-INF/lib или добавив их в качестве внешних банок. Если вы делаете второй, не забудьте пометить их в . Заказ & Экспорт tab.

+0

Я посмотрел в сборке развертывания, и мои записи пути сборки Java не были добавлены, однако проект, который я импортирую, не отображается в записях пути построения Java, вероятно, потому, что он не является .JAR, а несжатым проектом. – Colin747

+0

В окне ** Развертывание сборки **, когда вы нажимаете на ** Добавить ... **, вместо выбора _Java Build Path Entries_ выберите _Project> Next_ и выберите его там. Вероятно, это возможно. Если это сработает, я обновлю ответ. – betomontejo

+0

Это, казалось, решило проблему только для того, чтобы встретить новое сообщение об ошибке: 'HTTP Status 500 - javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/openqa/selenium/NoAlertPresentException' – Colin747

0

Вы можете открыть военный файл, который развернут и проверить, если этот класс файл, расположенный внутри WEB-INF/классы? Если это так, проверьте свой source tab на пути строительства

+0

Где будет файл WAR? – Colin747

Смежные вопросы