GSON n'est pas importé dans le maven pproject
J'obtiens l'erreur suivante - j'ai ajouté le GSon dans ma dépendance -
Quelqu'un peut-il point de ce que je fais de mal?
Edit : dépendance spécifié -
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>1.7.1</version>
</dependency>
Je suis en utilisant le code suivant dans mon sevlet -
JSONService json = new JSONService();
String json_output = json.makeLoginJSON(user);
makeLoginJSON ---
public String makeLoginJSON(LoginDetails user) {
String FinalJson = null;
Gson gson = new Gson();
FinalJson = gson.toJson(user);
return FinalJson;
}
qu'est-ce que votre dépendance maven déclaration?
quels sont vous aide à construire votre projet? Et merci de poster votre dépendance config
il est accessible, s'il vous plaît essayer de mettre à jour les dépendances maven, si cela ne fonctionne pas, veuillez essayer de supprimer le package de vous référentiel maven local et le forcer à les télécharger de nouveau. Essayer avec une nouvelle version de travail aussi.
vous pouvez essayer de définir explicitement le champ d'application de la dépendance à "compiler", mais je pense qu'il devrait être que par défaut. Sauf que a été remplacé par ailleurs dans votre installation
J'ai essayé avec compilation et la modification de la version.Donne toujours la même erreur...
quels sont vous aide à construire votre projet? Et merci de poster votre dépendance config
il est accessible, s'il vous plaît essayer de mettre à jour les dépendances maven, si cela ne fonctionne pas, veuillez essayer de supprimer le package de vous référentiel maven local et le forcer à les télécharger de nouveau. Essayer avec une nouvelle version de travail aussi.
vous pouvez essayer de définir explicitement le champ d'application de la dépendance à "compiler", mais je pense qu'il devrait être que par défaut. Sauf que a été remplacé par ailleurs dans votre installation
J'ai essayé avec compilation et la modification de la version.Donne toujours la même erreur...
OriginalL'auteur Fox | 2012-07-09
Vous devez vous connecter pour publier un commentaire.
Essayer:
J'ai édité mon commentaire et a ajouté la portée. L'étendue par défaut est compiler, ce qui signifie que la dépendance n'est pas présent au moment de l'exécution. Pour cela, vous utilisez la fourni portée. Plus sur les étendues dans les dépendances maven sur Apache Introduction aux Dépendances Maven.
Espère que cela résout votre problème.
P. S.: si vous créez votre propre référentiel, vous devriez également prendre un coup d'oeil ici.
Avez-vous essayer d'ajouter manuellement les Gson bibliothèque du classpath du projet? De sorte que vous obtenez une idée si c'est un problème concernant Maven ou pas. Je pense que la plupart c'est probablement un problème de classpath, bien que Maven devrait teoretically résoudre (voir ceci: stackoverflow.com/questions/4961336/... )
OriginalL'auteur Raul Rene
Juste une précision sur Raul réponse - bien que cela fonctionne pour vous, mais fourni est pour les dépendances qui devraient être disponibles à partir de la JRE/JDK, c'est à dire servlets. La compilation est la valeur par défaut devrait fonctionner dans d'autres affaires, comme gson n'est pas disponible à partir d'un JRE, au lieu de cela il a besoin d'être téléchargé par maven. De http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope:
compiler
C'est l'étendue par défaut, utilisé si aucun n'est spécifié. Compiler les dépendances sont disponibles dans tous les chemins de classe d'un projet. En outre, ces dépendances sont propagées à projets dépendants.
fourni
C'est un peu comme de la compilation, mais indique que vous attendez le JDK ou un conteneur de fournir la dépendance au moment de l'exécution. Par exemple, lors de la construction d'une application web pour le Java Enterprise Edition, vous devez définir la dépendance sur l'API Servlet et liées à Java EE Api de marge de manœuvre car le conteneur web fournit ces classes. Ce champ d'application est uniquement disponible sur la compilation et de test classpath, et n'est pas transitive.
runtime
Ce champ indique que la dépendance n'est pas requis pour la compilation, mais c'est pour l'exécution. C'est dans le moteur d'exécution et de tester les chemins de classe, mais pas le compiler classpath.
test
Ce champ indique que la dépendance n'est pas nécessaire pour l'utilisation normale de l'application, et n'est disponible que pour le test de compilation et d'exécution des phases.
système
Cette portée est similaire sauf que vous devez fournir le BOCAL qui contient explicitement. L'artefact est toujours disponible et n'est pas recherché dans un référentiel.
importation (disponible uniquement dans Maven 2.0.9 ou plus tard)
Ce champ est utilisé uniquement sur une dépendance de type pom dans la section. Il indique que les POM doivent être remplacés par les dépendances dans cette POM. Depuis, ils sont remplacés, dépendances avec un périmètre d'importation ne sont pas réellement participer à la limitation de la transitivité d'une dépendance.
OriginalL'auteur fundead
Essayer:
Très rapide, simple à utiliser.
OriginalL'auteur wenshao