Wie bringt man in einem Apache-HttpClient-Lookup-loader?

Ich habe Probleme beim ausführen des Quick-Start-Beispiel von Apache HttpComponents:

Anfangs war ich verwenden Sie es als Leitfaden. Wenn das versäumt, ich habe die Beispiel-Java-Datei und noch nicht mit Glück. Ich glaube, es gibt einige fehlende Informationen auf der Seite. Nachdem alle ein quick-start ausgeführt werden soll, und erhalten Sie begonnen.

Ich denke, das ist wie das problem hier beschrieben.

Ich glaube, die Antwort ist in dieser Frage (auch angezeigt durch den Kommentar unten). Getestet hab ich die Antwort vorgeschlagen, und es funktioniert für mich!

Quick-Start-Beispiel-code kann nicht auf die erste Zeile einfach. Ich habe es aufgeteilt, um zu überprüfen, Dinge Schritt für Schritt.

public class QuickStart {

    public static void quickStart() throws IOException { //String[] args) throws Exception {

        CloseableHttpClient httpclient;
        httpclient = HttpClients.createDefault();

        try {
            HttpGet httpGet;
                :

Diese Zeile wirft ein Fehler:

  • httpclient = HttpClients.createDefault();
  • Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/config/Lookup

Ich über die Bemerkung, daß der look-up-Klasse kann in der HttpCore Modul. Aber die quick-start und andere Anfänger-tutorials nicht erklären, WIE Sie in der Core-Komponente in meinem Beispiel Projekt? Es gibt keine Erwähnung von HttpCore oder Lookup-ich habe einen string auf der Seite.

Gibt es ein paar Fragen die wirklich.

  1. Was nötig ist, um fix die Schnell-Start-Beispiel für Sie zu laufen, wie geschrieben?
    • Eine Implikation hier ist, dass die Quick-Start-Seite ist kaputt, weil das Beispiel nicht starten, schnell oder sonst.
  2. Wie wird man "induzieren" die HttpCore zu integrieren, mit einer einfachen Java-Programm illustriert durch die HttpClient-Quick Start?
  3. Gibt es oder gab es eine Absicht, für die HttpCore gebracht werden wahlweise als?
    • Ich schaute in die POM-Datei, die HttpClient-hat-eine Abhängigkeit von HttpCore für den build.
    • Muss ich hinzufügen, etwas hier zu bringen, die HttpCore entlang in das GLAS oder was?
  4. Gibt es einen besseren Weg, um mit dem HttpClient, um ein kleines Java-Programm, ähnlich wie die Quick-Start?
  5. Mehr in den Geist der Verbesserung des web: Bitte TESTEN Sie Beispiele und Schnell Startet, bevor die Buchung Ihnen...
    • Dies geschieht mehr als oft folk glauben würde. In der Regel gibt es kleine Dinge, die ich einfach beheben. Ich denke, es wäre besser, wenn wir posten Sachen, die ausgeführt wird.

Zu diesem Problem. Der Aufruf: HttpClients.createDefault(), sollte man erwarten, dass Arbeit basiert auf der quick-start-code, da sonst der name "createDefault" erscheint ein Fehler sein. Voraus vielen Dank ...

update:

Ich dachte, ich sollte zeigen, was Netbeans setzen Sie in das POM für die HttpComponents ...

    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.3.4</version>
        <type>jar</type>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <version>4.3.2</version>
        <type>jar</type>
    </dependency>

Habe ich mir einige andere Beispiele. Diese auch einfach anrufen defaultClient(). So wie es scheint, ein bisschen mehr von einem Geheimnis, als nur, dass es ein problem in der quick-start-Beispiel. Andere Beispiele:

Immer noch keine explizite Erwähnung für die Suche oder die Verknüpfung mit HttpCore. Sollten diese Beispiele funktionieren? Wenn so was 'extra' ist in einer (Netbeans) Maven-build-um es geschehen zu lassen?

  • was bekommen Sie mit HttpClientBuilder.create();
  • Ich werde versuchen, diese. Nach MKYong: defaultHttpClient ist Veraltet. Also Frage #4, ist mehr relevant -- Vermeiden Sie Entsendung oder weglassen von Datum material in den Beispielen und tutorials. ~seufz~
  • müssen Sie sich nicht mehr als diese 2 Abhängigkeiten. Ich würde für eine CloseableHttpClient (hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/...)
  • Dank SatelliteSD und NishantShreshth die HttpClientBuilder funktioniert. Und es ist NICHT dokumentiert, für die Projekt-Seite. Sehr schade und Verschwendung von vielen Menschen die Zeit gegeben, die Anzahl der Beiträge, die ich gefunden habe mit dem Beispielcode und (jetzt) defekte/veraltete tutorials, die ich sah.
InformationsquelleAutor will | 2014-07-05
Schreibe einen Kommentar