簡體   English   中英

java.lang.ClassNotFoundException:org.apache.commons.lang.exception.NestableRuntimeException

[英]java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException

我正在嘗試從數據庫中檢索數據。 當我運行程序時,它顯示錯誤java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException我的WEB-INF --> lib目錄中有json-lib jar文件,我不知道為什么它為JSONArray顯示此錯誤。

我的代碼是:

        StringBuilder sb=new StringBuilder(1024);
        sb.append("select * from ").append(uname.trim()).append("vcomments").append(" where itemid=").append(itemId).append(" and albumid=").append(albumId);
        sql=sb.toString();
        stmt = conn.prepareStatement(sql);
        ResultSet rs = stmt.executeQuery();
        //ArrayList<String> CommArray=new ArrayList();
        JSONArray arrayObj=new JSONArray();                //#100


         while(rs.next()){
            Commenter comment = new Commenter();
            comment.setUname(rs.getString("uname").trim());
            comment.setComment(rs.getString("comments").trim());
            arrayObj.add(comment.toString());

            }    
         commentObj=gson.toJsonTree(arrayObj);
         myObj.add("commentInfo", commentObj);
         out.println(myObj.toString());
         rs.close();                                                              
         stmt.close();                                                            
         stmt = null;                                                             


         conn.close();                                                            
         conn = null;                                                  

     }                 

控制台輸出是:

 SEVERE: Servlet.service() for servlet [VComment] in context with path [/skypark] threw exception [Servlet execution threw an exception] with root cause
java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2904)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at skypark.VComment.doGet(VComment.java:100)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

請有人告訴我如何解決這個問題......謝謝......

我有同樣的問題 - 和你一樣 - 我下載了最新的commons-lang。 但實際上我可以通過下載apache commons-lang 2.6DDL )並將jar放在WEB-INF / lib下來解決它

希望你在此期間解決了它。

你錯過了commons-lang jar VERSION 2(即不是最新版本)

LATEST commons-lang jar VERSION 3的類在包中:org.apache.commons.lang3

雖然OLDER commons-lang jar VERSION 2的類在包中:org.apache.commons.lang

findjar.com建議可能丟失的幾個jar文件中的一個。 您應該將Apache commons-lang .jar文件與您的解決方案一起打包。 它應該在您已部署的.war文件中,或者在您的Tomcat lib目錄中。

如果你擁有它(並且你已經確認你可以在你的解決方案中從那個.jar實例化/引用類)那么也許這是一個.jar版本的問題。 你的JSON lib應該引用什么版本的commons-lang?

查看JSON-lib 傳遞依賴項 (向下滾動這些)

使用net.sf.json使用Commons Lang並在Brian提供的列表中( http://json-lib.sourceforge.net/dependencies.html ),指定Commons Lang版本2.5。 net.sf.json的當前版本與Commons Lang 3不兼容。為了安全起見,你應該使用指定版本(2.5),即使我們發現版本2.6工作正常。

NestableRuntimeException的ClassNotFoundException是嘗試將Commons Lang 3與net.sf.json一起使用的效果。

由於您的WEB-INF / lib中有Commons Lang jar,所以您需要做的就是將您擁有的版本與Commons Lang 2.5(或2.6)jar交換。

您使用的是哪種應用引擎? 我在使用eclipse代碼引擎時遇到了重大問題,但我改為使用Apaches Tomcat 7並重定向.xml文件以使用應用程序項目中的那個。

看起來,它無法找到org.apache.commons.lang.exception.NestableRuntimeException

確保你在WEB-INF - > lib中擁有commons-lang dependecy。

你可以在http://commons.apache.org/lang/download_lang.cgi找到它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM