1

Java Dynamic 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)
4

2 に答える 2

6

プロジェクトのプロパティ > 展開アセンブリの構成を確認してください。[追加]に移動して [プロジェクト] > [次へ]を選択し、プロジェクトを選択します。これで、プロジェクトのクラスのみが含まれます。Java プロジェクトに外部または他の JAR 参照が含まれている場合は、それらを新しい Web プロジェクトに手動で含める必要がありますWEB-INF/lib2 つ目を行う場合は、[注文とエクスポート] タブでそれらをマークすることを忘れないでください。

于 2012-09-28T15:31:35.137 に答える
0

デプロイされている war ファイルを開いて、このクラス ファイルが WEB-INF/classes 内にあるかどうかを確認できますか? この場合は、source tabビルドパスを確認してください

于 2012-09-28T15:30:32.453 に答える