java.lang.NoClassDefFoundError


第一種,也是新手容易犯的錯誤,那就是classpath環境變量配置錯誤.
解決辦法:
系統環境變量->新建classpath。
變量名:classpath
變量值: .;%JAVA_HOME%/lib/;%JAVA_HOME%/jre/lib/
(注意,CLASSPATH最前面是有個“.”的,表示當前目錄,這樣當我們運行javaAClass的時候,系統就會先在當前目錄尋找AClass文件了。)

     第二種,環境變量配置正確,但加載第三方包的時候會報錯,比如: java.lang.NoClassDefFoundError:com.ryong21.io.net.NetClient
     解決辦法:
     1.項目根目錄下新建一個libs文件夾
     2.把要加的包放到這個目錄下
     3.右鍵 Build Path-> Use as source folder
     4.在jar包上右鍵->add to build path
     (注意,上面的是libs,不是lib)

報錯內容:
type Exception report
message Servlet execution threw an exception
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet execution threw an exception org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.NoClassDefFoundError: com/jcraft/jsch/JSchException controller.LogController.doPost(LogController.java:44) javax.servlet.http.HttpServlet.service(HttpServlet.java:650) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
java.lang.ClassNotFoundException: com.jcraft.jsch.JSchException org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571) controller.LogController.doPost(LogController.java:44) javax.servlet.http.HttpServlet.service(HttpServlet.java:650) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.62 logs.

  主要報錯:java.lang.NoClassDefFoundError
  在控制台能輸出正確的結果, 但是運行網頁,不能正確輸出。
  原因:為把SSH工具包導入到webcontent/lib 下


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM