2016-04-28 7 views
2

Я пытаюсь создать приложение, которое использует org.apache.commons.httpclient. Для этого я загрузил org.apache.commons.httpclient.jar и разместил его в папке \ libraries внутри моего проекта. Затем добавили его в библиотеку через Структура проекта. Тем не менее, когда я запускаю свою программу, она бросает java.lang.NoClassDefFoundError: орг/Apache/Обще/протоколирования/LogFactory на линии HttpClient client = new HttpClient(); Будет очень благодарен за любого рода посоветуйте.apache java.lang.NoClassDefFoundError

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"); 
     } 
    } 
} 
+0

Какие банки вы используете в своем классе? – asg

+0

Вы используете jar org.apache.commons.httpclient.jar в своем классе? – asg

+0

@asg Я использую intelliJ Idea. Как я уже сказал, я просто добавил эту банку в библиотеку. Нужно сделать что-то еще? –

ответ

0

Я добавил три баночки в путь к классам и код работал отлично для меня.

commons-httpclient-3.1.jar 
commons-codec-1.10.jar 
commons-logging-1.2.jar 

Пожалуйста, дайте мне знать, если у вас возникнут проблемы.

Смежные вопросы