2011-07-29 3 views
0

Je suis nouveau sur Eclipse. J'essaie de me connecter à la base de données SQLLite. Je suis examaple de http://www.zentus.com/sqlitejdbc/usage.html. J'ai téléchargé le fichier jar, importé dans le projet, mais une fois que je lance le code que je reçois exception suivanteEclipse impossible de trouver org.sqlite.JDBC (Java)

Exception in thread "main" java.lang.ClassNotFoundException: org.sqlite.JDBC 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Unknown Source) 
    at com.amazon.IP2Zip.Test.main(Test.java:7) 

On dirait que ce n'est pas en mesure de trouver la classe, même si j'importé le fichier jar dans le projet.

Toute aide serait grandement appréciée :)

+0

Comment l'avez-vous importé dans le projet? "Ajouter pour construire le chemin ..."? – aioobe

+0

Que dit eclipse lorsque vous ajoutez un 'import org.sqlite.JDBC;' à un fichier source? – rsp

Répondre

2

faites un clic droit sur le projet et sélectionner des propriétés de ce chemin de construction sélectionnez et là dans de la section des bibliothèques sélectionnez Ajouter Jar externe et accédez à l'emplacement où le fichier jar est stocké .

Hope this fera l'affaire

1

Selon le java.lang.ClassNotFoundException, les classes ne peuvent pas être trouvées dans le CLASSPATH. Essayez de mettre ce chemin dans le chemin de construction en faisant quelque chose comme ceci: -

Projet-> BuildPath-> bibliothèques -> Ajouter des bocaux externes.

+1

Pas son travail. C'est un bug. Les auteurs de xerial doivent le réparer. – Kashyap

1

Cela peut ne pas être vrai pour votre cas, mais j'ai juste résolu un problème similaire qui semblait défier la logique. Il y a quelques questions similaires sur ce sujet, mais toutes ont échoué à résoudre mon problème. Je pensais que je pourrais aussi bien mentionner le problème que j'ai rencontré.

J'ai téléchargé le JAR, que j'ai obtenu via une recherche rapide. J'ai d'abord essayé d'inclure cette bibliothèque via Eclipse, que je connais bien. J'ai ajouté le JAR au chemin de construction comme d'habitude, et ai commencé à exécuter mon programme en m'attendant à une sortie stupide qui confirmerait que org.sqlite.JDBC avait été trouvé. Malheureusement, j'ai été rencontré à la place avec ClassNotFoundException.

J'ai regardé le contenu du JAR, et bien sûr, org.sqlite.JDBC semblait être là. Après cela, je me suis dit que je devais avoir fait quelque chose de mal, et j'ai cherché un tas de questions similaires pour déterminer où je me suis trompé. Le seul problème était, la majorité d'entre eux recommandait exactement ce que j'ai fait pour commencer! J'ai alors considéré que quelque chose était peut-être génial avec mon installation Eclipse, donc je l'ai couru (en spécifiant le classpath) manuellement via la ligne de commande. Même ainsi, j'ai été rencontré avec un ClassNotFoundException. Au bout du compte, j'ai alors envisagé la possibilité de ce que je pensais être extrêmement improbable - que le JAR soit corrompu d'une manière ou d'une autre - et cette fois-ci je suis allé directement à la page de téléchargement du projet. En ajoutant le JAR au chemin de compilation dans Eclipse, j'ai noté qu'il avait une structure légèrement différente de celle que j'avais précédemment. Puis j'ai essayé de le lancer et ... ça a marché! Donc, dans l'extrême improbabilité que vous téléchargez un JAR corrompu, cela pourrait expliquer votre problème.

+0

J'ai eu exactement la même expérience.Le fichier jar a été résolu par maven, la classe 'org.sqlite.JDBC' faisait partie de ce fichier, mais elle a quand même échoué avec une exception ClassNotFoundException. Ce n'est qu'après avoir effacé mon cache '.m2' local (et re-téléchargé le fichier jar) que mon application a été exécutée. – Maarten

+0

Leçon apprise pour moi: ne supposez pas que tous les jars téléchargés sont corrects. Je sais, presque personne ne le fait, mais envisager de vérifier automatiquement la somme de contrôle. Apparemment, il existe un attribut lors de la définition des repos qui permet cette vérification. Voir https://maven.apache.org/settings.html#Repositories – Maarten

0

J'ai également rencontré ce problème. Dans mon projet, je voulais tout empaqueter dans un fichier JAR pour faire une application autonome.

La ClassNotFoundException a été levée car j'ai oublié d'ajouter la bibliothèque à mon chemin de classe dans le fichier MANIFEST.MF. L'ajout de la ligne "Class-Path: lib/sqlite-jdbc-3.7.15-M1.jar" à mon fichier MANIFEST.MF a résolu le problème pour moi.

Questions connexes