在构建路径中添加项目时,Eclipse中的NoClassDefFoundError

six*_*ude 8 eclipse exception

NoClassDefFoundError当我尝试运行我的项目时,我在Eclipse中收到了一个.

我的项目看起来像这样:

JavaProject: BulkAdmin
   - src
      - com.mycompany.bulkadmin.SDK.util
         - Login.java

Dynamic Web Project: JSPTesting
   - src
      - com.mycompany.bulkadmin.jspController
         - Controller.java
   - WebContent
      - index.html
      - execute.jsp
Run Code Online (Sandbox Code Playgroud)

这是控制流程:

  1. index.html加载
  2. index.html有一个重定向到execute.jsp的表单
  3. execute.jsp获取表单中返回的信息并对Login.java进行静态调用
  4. execute.jsp打印调用的结果

Controller.java使用Login.java.我收到了编译错误.要解决它们,我这样做了:

  1. 右键单击JSPTesting - > properties
  2. 在左侧栏中选择java构建路径
  3. 选择项目标签
  4. 单击添加
  5. 选择BulkAdmin(项目)

我不知道为什么,但是现在当我得到一个NoClassDefFoundError.我做了一些谷歌搜索.我认为这意味着我以某种方式弄乱了我的类路径,但我不知道如何解决这个问题.

java.lang.NoClassDefFoundError: com/myCompany/bulkadmin/SDK/util/Login
    at com.myCompany.bulkadmin.jspController.Controller.process(Controller.java:44)
    at org.apache.jsp.execute_jsp._jspService(execute_jsp.java:63)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:321)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:257)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
    at java.lang.Thread.run(Thread.java:595)
Run Code Online (Sandbox Code Playgroud)

其他信息:

  • 我使用tomcat(在Eclipse中)作为我的服务器
  • 该异常显示在浏览器和eclipse控制台中
  • execute.jsp是一个JSP

在SO上似乎有很多类似的问题.我已经阅读了其中的15个,并尝试了各种各样的东西,但我认为我的问题有不同的解决方案.我可以提供更多信息.

Bal*_*usC 24

右键单击动态Web项目,转到" 属性">"部署程序集",然后在其中添加相关项目.通过这种方式,它们最终将成为JAR /WEB-INF/lib,正好在您希望的位置.

Eclipse项目属性部署程序集

在早于3.5的Eclipse版本中,您需要转到" 属性">"Java EE模块依赖项".

也可以看看: