Fehler beim Versuch, eine API zu verwenden. java.lang.NoSuchFieldError: INSTANZ

8

Ich versuche, mit einem Java-Programm eine Verbindung zur Smartsheet-API herzustellen. Anfangs hatte ich Probleme mit dem Site-Zertifikat, das durch Hinzufügen zum Java-Keystore gelöst wurde. Jetzt, wenn ich versuche, meinen Code auszuführen, erhalte ich den folgenden Fehler.

%Vor%

Dies ist mein Code (ich folgte ihrer Dokumentation).

%Vor%

Die Zeile, die den Fehler verursacht, ist (Zeile 144)

%Vor%

aber ich bin mir nicht sicher, was ich davon halten soll. Ich benutze Maven, um die Abhängigkeiten zu erhalten. Hat es etwas mit der Version der Apache HttpComponents zu tun?

Hier ist die pom.xml

%Vor%     
mahacoder 26.09.2015, 05:02
quelle

3 Antworten

6

Andere Beiträge zu diesem Fehler scheinen darauf hinzuweisen, dass dies in der Regel auf widersprüchliche Versionen von httpcore jar zurückzuführen ist. eine ältere Version von httpcore auf dem Klassenpfad.

Für weitere Informationen empfehle ich Ihnen, die folgenden Posts auszufüllen:

Kim Brandl 26.09.2015 15:18
quelle
3

Ich weiß, dass ich ein bisschen spät antworte, eigentlich habe ich auch das gleiche Problem und ich fand die Lösung mit dem Maven Shade Plugin.

Das Problem ist der JAR-Konflikt, wahrscheinlich verwendet Ihr Projekt eine andere Version von HTTPclient als Ihr Container, über den Ihre Appliaction läuft.

Um dies zu beheben, verwenden Sie das Below-Maven-Shade-Plugin, das den Paketnamen von HttpClient in den angegebenen Namen ändert, der das JAR packt. Dies wird auch die gesamte Verwendung in Ihrem Code umgestalten.

%Vor%

Das obige Beispiel ändert das HttpClient-Paket mit org.shaded.apache.http von org.apache.http

Maven Shade erstellt auch ein Fett- / Uber-Glas, so dass Ihre endgültige Paketgröße erhöht wird und alle Klassen enthält, die Sie in der Abhängigkeit in POM erwähnt haben.

Wenn Sie nicht alle Ihre Abhängigkeits-JAR in Ihr endgültiges JAR aufnehmen möchten, fügen Sie den Bereich für die Abhängigkeit als <scope>provided</scope> hinzu.

    
Animesh Sinha 02.07.2016 13:39
quelle
0

Ich habe intellij sowohl für die Android- als auch für die Federentwicklung verwendet. In meinem Fall wählte ich versehentlich Android SDK als Modul SDK.

Nach der Auswahl von JDK 1.8 und dem Neuaufbau des Projekts wurde das Problem für mich behoben

    
user2829759 20.09.2017 09:44
quelle