Erreur lors de la tentative d'utiliser une API. java.lang.NoSuchFieldError: EXEMPLE
Je suis en train d'essayer de se connecter à la smartsheet de l'api à l'aide d'un programme java.
Au départ, j'ai eu des problèmes avec le certificat de ce site qui a été résolu par l'ajout, à la java fichier de clés. Maintenant, quand je suis en train de lancer mon code, j'obtiens l'erreur suivante.
Exception in thread "main" java.lang.NoSuchFieldError: INSTANCE
at org.apache.http.conn.ssl.SSLConnectionSocketFactory.<clinit>(SSLConnectionSocketFactory.java:144)
at org.apache.http.impl.client.HttpClientBuilder.build(HttpClientBuilder.java:955)
at org.apache.http.impl.client.HttpClients.createDefault(HttpClients.java:58)
at com.smartsheet.api.internal.http.DefaultHttpClient.<init>(DefaultHttpClient.java:64)
at com.smartsheet.api.SmartsheetBuilder.build(SmartsheetBuilder.java:203)
at SmartsheetConnection.main(SmartsheetConnection.java:13)
C'est mon code (j'ai suivi leur documentation).
import com.smartsheet.api.*;
import com.smartsheet.api.models.*;
import com.smartsheet.api.models.enums.*;
import com.smartsheet.api.oauth.*;
public class SmartsheetConnection {
public static void main(String[] args) throws SmartsheetException {
//Set the access token.
Token token = new Token();
token.setAccessToken("foo");
Smartsheet smartsheet = new SmartsheetBuilder().setAccessToken(token.getAccessToken()).build();
}
}
La ligne qui est en train de jeter erreur est (ligne 144)
@Deprecated
public static final X509HostnameVerifier ALLOW_ALL_HOSTNAME_VERIFIER
= AllowAllHostnameVerifier.INSTANCE;
mais je ne sais pas quoi faire de lui. Je suis à l'aide de maven pour obtenir les dépendances. A-t-elle quelque chose à voir avec la version de Apache HttpComponents?
Ici est la pom.xml
<build>
<sourceDirectory>src</sourceDirectory>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.smartsheet</groupId>
<artifactId>smartsheet-sdk-java</artifactId>
<version>2.0.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-apache-client</artifactId>
<version>1.9</version>
</dependency>
</dependencies>
obtenir le droit pot de findjar.com/index.x
mais ne serait pas maven automatiquement faire ça pour moi?
Est votre configuration d'exécution et le temps de génération de la configuration même? L'erreur montre clairement runtime questions
J'ai ajouté la dépendance maven comme ce qui est mentionné par smartsheet. J'ai ajouté le pom.xml.
Avez-vous trouvé la solution pour ce problème? coz je suis confrontée au même problème et je ne sais pas quelle est la cause de racine. J'ai vérifié d'où la SSLConnectionSocketFactory classe est le chargement et le son correct.
mais ne serait pas maven automatiquement faire ça pour moi?
Est votre configuration d'exécution et le temps de génération de la configuration même? L'erreur montre clairement runtime questions
J'ai ajouté la dépendance maven comme ce qui est mentionné par smartsheet. J'ai ajouté le pom.xml.
Avez-vous trouvé la solution pour ce problème? coz je suis confrontée au même problème et je ne sais pas quelle est la cause de racine. J'ai vérifié d'où la SSLConnectionSocketFactory classe est le chargement et le son correct.
OriginalL'auteur mahacoder | 2015-09-26
Vous devez vous connecter pour publier un commentaire.
D'autres messages au sujet de cette erreur de penser que c'est généralement causée par des versions contradictoires de
httpcore
jar. c'est à dire, une version plus ancienne dehttpcore
sur le chemin de la classe.Pour plus d'informations, je vous suggère de vous commander les postes suivants:
java.lang.NoSuchFieldError: org.apache.http.message.BasicLineFormatter.EXEMPLE de Mashape Unirest dans l'application Java
java.lang.NoSuchFieldError: EXEMPLE
Merci pour la mise à jour, David. Heureux d'entendre que vous avez identifié (et résolu) le problème. Quand vous avez un moment, pouvez-vous s'il vous plaît marquer cette Réponse comme "accepté", afin que les autres puissent bénéficier de l'info dans l'avenir? Merci!
Je voudrais, mais ce n'est pas ma question. Je n'ai upvote.
Merci pour le upvote, David. Désolé, je n'avais pas remarqué que ce n'était pas votre question à l'origine...mais vous remercie de carillon pour le bénéfice des autres.
Je suis face à un même problème. Mon projet va être une dépendance à un projet parent qui est encore une fois le fait d'avoir plusieurs enfants projets où plusieurs dépendances comme la spark-core et hbase-clientes en interne contient httpclient jar. Alors, comment la force de maven à usage particulier maven version d'une dépendance, de sorte que nous n'aurons pas à faire face à toute exécution problème comme nosuchfielderror?
OriginalL'auteur Kim Brandl
Je sais que je suis je réponds un peu tard en fait, je suis aussi aux prises avec le même problème et j'ai trouvé la solution à l'aide de Maven Ombre plugin.
Le Problème, c'est le POT de conflit probablement votre projet à l'aide d'une Version différente De HTTPclient alors votre récipient sur lequel votre Application est en cours d'exécution.
Pour résoudre cela, utilisez la fonction ci-Dessous Maven Ombre Plugin qui va changer le nom du package de HttpClient à celui spécifié lequel l'emballage le POT. Cela permettra également de refactoriser tous l'utilisation de votre code.
L'exemple ci-Dessus va changer HttpClient Paquet avec
org.shaded.apache.http
deorg.apache.http
Maven Ombre permettra également de créer un fat/uber pot de sorte que votre paquet final de taille augmentée et aura toutes les classes que vous avez mentionné dans la Dépendance dans le POM.
Si vous ne voulez pas inclure l'ensemble de vos dépendance pot, dans un dernier pot puis ajouter l'Étendue de la Dépendance comme
<scope>provided</scope>
.OriginalL'auteur Animesh Sinha
J'ai été en utilisant l'ide, pour à la fois android et le développement du printemps.
Dans mon cas, j'ai choisi le kit sdk d'Android comme le module SDK.
Après avoir choisi le JDK de 1,8 et de reconstruction, le projet fixe le problème pour moi
OriginalL'auteur user2829759