7
votes

GSON n'est pas importé dans le projet Maven

Je reçois l'erreur suivante - j'ai ajouté le GSON dans ma dépendance -

Quelqu'un peut-il souligner ce que je fais mal? p>

 Entrez la description de l'image ici p>

EDIT: Dépendance spécifiée - P>

   public String makeLoginJSON(LoginDetails user) {
    String FinalJson = null;
    Gson gson = new Gson();
    FinalJson = gson.toJson(user);      
    return FinalJson;       
}


9 commentaires

Quelle est votre déclaration de dépendance maven?


Qu'utilisez-vous pour construire votre projet? Et veuillez poster votre configuration de dépendance


Il est accessible, s'il vous plaît essayez de mettre à jour les dépendances Maven, si cela ne fonctionne pas, essayez de supprimer le colis de votre référentiel Maven local et de la forcer à télécharger à nouveau. Essayez-la avec une nouvelle version pourrait fonctionner aussi.


Vous pouvez essayer de définir explicitement la portée de la dépendance à «compiler», mais je pense que cela devrait être que par défaut. Sauf si cela a été écrasé ailleurs dans votre configuration


J'ai essayé avec compiler et changer la version.still donnant la même erreur ...


Eclipse se plaint? Avez-vous essayé dépendance MVN résolution


J'ai fait dépendance: résolution dans Eclipse ... cela dit succès ..


J'ai édité mon commentaire et j'ai ajouté une pour la dépendance. S'il vous plaît vérifier cela maintenant.


Est-ce une erreur que vous voyez lors de Maven Build ou au moment de l'exécution?


4 Réponses :


18
votes

Essayez:

<dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.1</version>
        <scope>provided</scope>
</dependency>


2 commentaires

Eclipse ne me donne aucune erreur ... je peux faire "importer com.google.gson.gson;"


Avez-vous essayé d'ajouter manuellement la bibliothèque de GSON à la classe de classe du projet? Pour que vous ayez une idée de savoir si c'est un problème concernant Maven ou non. Je pense que c'était probablement un problème de classe de classe, bien que Maven soit résolue textueusement que (voir ceci: Stackoverflow.com/questions/4961336/... )



-2
votes

Essayez: xxx

très rapide, simple à utiliser. xxx


1 commentaires

Townvoted parce que ce n'est pas une réponse à la question.



3
votes

Une clarification de la réponse de Raul - C'est bien que cela fonctionne pour vous, mais fourni est destiné aux dépendances qui devraient être disponibles à partir du JRE / JDK, à savoir les classes de servlet. Compiler est la valeur par défaut et devrait fonctionner dans les cas d'autres personnes, car le GSON n'est pas disponible auprès d'un JRE, il doit plutôt être téléchargé par Maven. De http://maven.apache.org/guides/ Introduction / Introduction - Dépendance-Mechanism.html # Dépendency_scope :

compiler Ceci est la portée par défaut, utilisée si aucune n'est spécifiée. Les dépendances de la compilation sont disponibles dans tous les pistes de classe d'un projet. En outre, ces dépendances sont propagées à des projets dépendants.

fourni Cela ressemble beaucoup à compiler, mais vous indique que vous attendez que le JDK ou un conteneur fournisse la dépendance au moment de l'exécution. Par exemple, lors de la construction d'une application Web pour l'édition Java Enterprise, vous définissez la dépendance sur l'API d'API de servlet et une API Java EE associée fournie, car le conteneur Web fournit ces classes. Cette portée n'est disponible que sur la compilation et le test de classe de test et n'est pas transitif.

runtime Cette étendue indique que la dépendance n'est pas requise pour la compilation, mais est à l'exécution. Il est dans le temps d'exécution et des tests de classe, mais pas la classe de classe de compilation.

test Cette étendue indique que la dépendance n'est pas requise pour une utilisation normale de l'application et n'est disponible que pour les phases de compilation des tests et d'exécution.

système Cette portée est similaire à celle fournie, sauf que vous devez fournir le bocal qui la contient explicitement. L'artefact est toujours disponible et n'est pas levé dans un référentiel.

importation (disponible uniquement dans Maven 2.0.9 ou ultérieure) Cette portée n'est utilisée que sur une dépendance de type POM dans la section. Il indique que la POM spécifiée doit être remplacée par les dépendances de la section de la POM. Depuis qu'ils sont remplacés, les dépendances ayant une portée d'importation ne participent pas réellement à la limitation de la transitivité d'une dépendance.


0 commentaires

-1
votes

Ajouter ces importations:

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;


0 commentaires