12

データベースからデータを取得しようとしています。プログラムを実行すると、ディレクトリにjarファイルjava.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeExceptionがあるというエラーが表示されますが、なぜこのエラーが表示されるのかわかりません。json-libWEB-INF --> libJSONArray

私のコードは:

        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)

誰かがこの問題を解決する方法を教えてください......ありがとう....

4

7 に答える 7

7

commons-lang jar VERSION 2 がありません (つまり、最新のリリースではありません)。

最新の commons-lang jar VERSION 3 のクラスはパッケージ内にあります: org.apache.commons.lang3

OLDER commons-lang jar バージョン 2 のクラスはパッケージに含まれています: org.apache.commons.lang

于 2013-06-29T08:20:29.997 に答える
3

findjar.comは、欠落している可能性のあるいくつかの jar ファイルの 1 つを示唆しています。Apache commons-lang .jar ファイルをソリューションにパッケージ化する必要があります。これは、デプロイした .war ファイルか、Tomcat lib ディレクトリにある必要があります。

それがある場合 (そして、ソリューションでその .jar からクラスをインスタンス化/参照できることを確認した場合)、おそらく .jar バージョンの問題です。JSON ライブラリが参照する必要がある commons-lang のバージョンは何ですか?

JSON-lib の推移的な依存関係を確認してください(下にスクロールしてください)。

于 2013-02-21T14:41:04.120 に答える
1

org.apache.commons.lang.exception.NestableRuntimeExceptionが見つからないようです。

WEB-INF --> lib にcommons-lang依存関係があることを確認してください。

ここにあります http://commons.apache.org/lang/download_lang.cgi

于 2013-02-21T15:00:49.800 に答える
0

どのようなアプリエンジンを使用していますか?Eclipseコードエンジンの操作で大きな問題が発生しましたが、Apaches Tomcat 7に変更し、代わりにアプリプロジェクトのファイルを使用するように.xmlファイルをリダイレクトしました。

于 2013-02-21T14:33:48.223 に答える