2

我使用eclipse ide,当我运行我的程序时一切正常,但是当我在服务器上运行相同的程序时,它给了我这个异常,我已经把我所有的远文件以及我的lib文件夹,请帮我做短解决这个问题。

java.lang.ClassNotFoundException: org.apache.http.HttpRequest
    在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1701)
    在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
    在 java.lang.ClassLoader.defineClass1(本机方法)
    在 java.lang.ClassLoader.defineClass(ClassLoader.java:791)
    在 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    在 org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2836)
    在 org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1160)
    在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1668)
    在 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1546)
    在 org.controller.KeyRank.doPost(KeyRank.java:41)
    在 javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
    在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
    在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
    在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
    在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
    在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    在 java.lang.Thread.run(Thread.java:722)

这是我的代码:

   public String readGoogle(字符串关键字,int page){
        HttpClient 客户端 = 新 DefaultHttpClient();  

        // 创建一个方法实例
        关键字 = 关键字.trim();
        关键字 = 关键字.replaceAll(" ", "+");

        字符串 url = "http://www.google.com/search?q="+keyword+"&start="+page+"&btnG=Google+Search&aq=f&oq=";
        字符串响应体 = "";
        HttpGet 方法 = 新的 HttpGet(url);  

        //提供自定义重试处理程序是必要的  
        //:OC:method.getParams().setParameter(HttpConnectionParams.RETRY_HANDLER, new DefaultHttpRequestRetryHandler(3, false));  


        尝试{  
        //执行方法  


            System.out.println("执行请求" + method.getURI());  

            // 创建响应处理程序  
            ResponseHandler responseHandler = new BasicResponseHandler();  
            responseBody = client.execute(method, responseHandler);  
            System.out.println("----------------------------------------");  
            System.out.println(responseBody);  
            System.out.println("----------------------------------------");  



            } 捕捉(HTTPException e){  

                    System.err.println("致命的协议违规:" + e.getMessage());  
                    e.printStackTrace();  

                } 捕捉(IOException e){  

                    System.err.println("致命的传输错误:" + e.getMessage());  
                    e.printStackTrace();  
                } 最后 {  

                    //释放连接  
              方法.releaseConnection();  

        }
        返回响应体;

    }
4

2 回答 2

2

将 Http core jar 添加到您的构建路径中,从该 url 中找到所需的 jar。http://www.java2s.com/Code/Jar/h/Downloadhttpcorejar.htm

部署jar然后编译,您的错误将得到解决。

于 2015-09-09T07:00:50.893 回答
1

如果您classpath configuration不了解将应用程序部署到的 Web 服务器,则很难提供帮助,但从外观上看,您似乎缺少HttpCore部署环境中的 jar。

在那个 jar 中找到了缺少的类。

于 2013-02-26T19:01:02.500 回答