0
我是新來的HttpClient類。執行該行時,出現NoClassDefFoundError錯誤。任何線索?錯誤的HttpClient
HttpClient client = new HttpClient();
Java代碼的
import org.apache.commons.httpclient.URI;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.HostConfiguration;
import org.apache.commons.httpclient.protocol.Protocol;
import java.io.File;
import java.io.IOException;
import java.io.FileOutputStream;
public class Client {
public static void main(String args[]) {
HttpClient client = new HttpClient();
client.getParams().setParameter("http.useragent", "Test Client");
client.getParams().setParameter("http.connection.timeout",new Integer(5000));
GetMethod method = new GetMethod();
FileOutputStream fos = null;
try {
method.setURI(new URI("http://www.google.com", true));
int returnCode = client.executeMethod(method);
if(returnCode != HttpStatus.SC_OK) {
System.err.println(
"Unable to fetch default page, status code: " + returnCode);
}
System.err.println(method.getResponseBodyAsString());
method.setURI(new URI("http://www.google.com/images/logo.gif", true));
returnCode = client.executeMethod(method);
if(returnCode != HttpStatus.SC_OK) {
System.err.println("Unable to fetch image, status code: " + returnCode);
}
byte[] imageData = method.getResponseBody();
fos = new FileOutputStream(new File("google.gif"));
fos.write(imageData);
HostConfiguration hostConfig = new HostConfiguration();
hostConfig.setHost("www.yahoo.com", null, 80, Protocol.getProtocol("http"));
method.setURI(new URI("/", true));
client.executeMethod(hostConfig, method);
System.err.println(method.getResponseBodyAsString());
} catch (HttpException he) {
System.err.println(he);
} catch (IOException ie) {
System.err.println(ie);
} finally {
method.releaseConnection();
if(fos != null) try { fos.close(); } catch (Exception fe) {}
}
}
}
錯誤日誌
Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/commons/logging/LogFactory
at org.apache.commons.httpclient.HttpClient.<clinit>(HttpClient.java:66)
at Client.main(Client.java:17)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more