Je reçois l’erreur «java.lang.ClassNotFoundException: com.google.gson.Gson» même si elle est définie dans mon classpath

J’essaie d’parsingr certaines chaînes d’objects JSON que j’utilise avec gson-1.6.jar Je l’ai placé au même endroit que mes autres .jars et je l’ai ajouté à mon chemin de compilation dans eclipse.

Les autres bibliothèques ont bien fonctionné lorsque je les ai ajoutées et je peux les utiliser sans problème, mais lorsque j’essaie de créer l’object JSON, j’obtiens l’erreur titulaire. J’ai regardé à travers les autres questions avec cette erreur, mais je n’ai pas pu trouver une solution qui n’implique pas quelque chose que j’ai essayé ou quelque chose sans rapport.

Je l’importe près du sumt en utilisant:

import com.google.gson.Gson; 

Puis utilisez-le plus tard dans une fonction statique comme ceci:

 Gson g = new Gson(); 

Voici mon fichier classpath généré par éclipse [Path] substitué au chemin actuel:

                     

ainsi que ma fenêtre de chemin de construction: Écran Construire Chemin

Je suis un peu perdu à ce stade. J’ai essayé Google et les messages disent simplement d’append à votre chemin de construction. Quelqu’un a des idées?

Edit: Plus d’infos

Le code faisant référence à com.google.gson.GSON est utilisé comme bean par un jsp. Cette fonction est appelée depuis le jsp et l’erreur se produit dès que la fonction est exécutée. La première ligne de la fonction est la suivante:

 Gson g = new Gson(); 

Il semble comstackr et déployer correctement, mais quand il est exécuté, je reçois le message d’erreur.

Merci

Dans le cas d’une application /WEB-INF/lib JSP / Servlet, il vous suffit de supprimer les fichiers JAR tiers dans le dossier /WEB-INF/lib . Si le projet est un projet Web dynamic , Eclipse se chargera automatiquement de définir correctement le chemin de construction. Vous n’avez pas besoin de jouer avec le chemin de construction Eclipse. N’oubliez pas de tout défaire.

J’ai rencontré le même problème et essayé les solutions ci-dessus, mais aucune d’entre elles n’a fonctionné pour moi. Ensuite, j’ai essayé les étapes suivantes et le problème a été résolu:

  • Accédez aux propriétés du projet.
  • Accédez à l’option Java Build Path.
  • Ajoutez ensuite le fichier *.jar en tant que fichier *.jar externe.
  • Ensuite, accédez à l’option commande et exportation et sélectionnez les bibliothèques et les fichiers JAR du projet.
  • enregistrer les modifications en cours et nettoyer le projet et exécuter le projet à nouveau.

Cliquez sur Deployment Assembly (juste au-dessus du Java Build Path que vous affichez comme actif) et assurez-vous de voir json-lib-2.4-jdk15.jar.

En règle générale, vous devez l’append à votre chemin de génération et l’exporter de votre projet. Une fois exporté, le WTP vous avertit qu’il ne fait pas partie du déploiement. Choisissez l’option Quick Fix et ajoutez-la à votre chemin de déploiement.

Je viens d’avoir le même problème …

Pour résoudre le problème (du moins dans mon cas), assurez-vous d’avoir inclus le dossier lib dans votre chemin de classe bundle:

 Manifest-Version: 1.0 ... Bundle-ClassPath: lib/gson-1.6.jar, . ... 

Ou si vous souhaitez inclure tous les jar dans le dossier:

 Bundle-ClassPath: lib/ 

Vous devrez toujours placer les fichiers jar sur le chemin de compilation java, comme indiqué ci-dessus. Ensuite, vos fichiers importés doivent apparaître dans le dossier “Bibliothèques référencées”

Pour moi, le problème a été résolu en ajoutant les pots dans mon dossier APACHE / TOMCAT / lib! .

J’ai eu le même problème lors du développement d’un nœud / plug-in KNIME dans l’environnement Eclipse. La solution consistait non seulement à append gson.jar en tant que fichier JAR externar au chemin de génération, mais également à plugin.xml , puis à l’onglet Dépendances et à append com.google.gson en tant que plug-in requirejs.

Faites la réparation rapide dans l’onglet Marqueurs.

Source de l'image metamug.com

Référence: https://metamug.com/blog/eclipse-gson-class-not-found