簡體   English   中英

apache java.lang.NoClassDefFoundError

[英]apache java.lang.NoClassDefFoundError

我正在嘗試創建使用org.apache.commons.httpclient包的應用程序。 為此,我下載了org.apache.commons.httpclient.jar並將其放在項目內的\\ libraries文件夾中。 然后通過Project Structure將其添加為庫。 但是,當我運行程序時,它在HttpClient client = new HttpClient();行上拋出java.lang.NoClassDefFoundError:org / apache / commons / logging / LogFactory HttpClient client = new HttpClient(); 將非常感謝您提供任何建議。

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

如果您遇到任何問題,請告訴我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM