apache java.lang.NoClassDefFoundError
我正在尝试创建使用org.apache.commons.httpclient包的应用程序。为此,我下载了org.apache.commons.httpclient.jar,并将其定位在项目中的\libraries文件夹中。然后通过项目结构将其添加为库。但是,当我运行我的程序时,它会抛出java.lang.NoClassDefFoundError:org/apache/commons/logging/LogFactoryapache java.lang.NoClassDefFoundError,java,apache,exception,Java,Apache,Exception,我正在尝试创建使用org.apache.commons.httpclient包的应用程序。为此,我下载了org.apache.commons.httpclient.jar,并将其定位在项目中的\libraries文件夹中。然后通过项目结构将其添加为库。但是,当我运行我的程序时,它会抛出java.lang.NoClassDefFoundError:org/apache/commons/logging/LogFactory HttpClient=newhttpclient() 我将非常感谢您的任何建
HttpClient=newhttpclient()代码>
我将非常感谢您的任何建议
import java.math.BigInteger;
import java.security.MessageDigest;
import java.io.*;
import javax.xml.parsers.DocumentBuilderFactory;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.methods.PostMethod;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class Crawler {
public static void main(String[] args) throws Exception {
String key = "5485fd7342c54e2ef3640cc94f71056b";
String secret = "1d4cb8b3br1d3x4b";
String methodGetFrob = "flickr.auth.getFrob";
String sig = secret + "api_key" + key + "method" + methodGetFrob;
String signature = DigestUtils.md5Hex(sig);
String request = "http://api.flickr.com/services/rest/?method=" + methodGetFrob + "&api_key=" + key + "&api_sig=" + signature;
HttpClient client = new HttpClient();
GetMethod method = new GetMethod(request);
int statusCode = client.executeMethod(method);
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: " + method.getStatusLine());
}
else {
System.out.println("OK");
}
}
}
我在类路径中添加了三个JAR,代码对我来说运行得非常好
commons-httpclient-3.1.jar
commons-codec-1.10.jar
commons-logging-1.2.jar
如果遇到任何问题,请告诉我 您的类路径中有哪些jar?您只是在类路径中使用org.apache.commons.httpclient.jar吗?@asg我在使用intelliJ Idea。正如我所说,我只是添加了这个罐子作为一个库。需要执行其他操作吗?DigestUtils类可能有不同的jar。在IntellJ上,使用(Ctrl+N)确定DigestUtils类是从哪个类解析的。