我使用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(); } 返回响应体; }