web-dev-qa-db-fra.com

java.lang.ClassNotFoundException: erreur org.sqlite.JDBC dans le programme Sample.Java de xerial

J'essaie de faire en sorte que la classe Sample de Xerial fonctionne dans Eclipse avec sqlite, mais le message d'erreur "ClassNotFoundException: org.sqlite.JDBC" persiste.

J'ai téléchargé le fichier sqlite-jdbc-3.7.2.jar à partir de https://bitbucket.org/xerial/sqlite-jdbc/downloads . Copié dans le dossier lib sous mon projet "database_test" dans Eclipse. Cliquez ensuite avec le bouton droit de la souris sur Projet-> Propriétés-> Chemin de construction Java-> Onglet Bibliothèques-> Ajouter des fichiers JAR-> Sélectionnez le fichier JAR. J'essaye d'exécuter ce code de Xerial trouvé ici: https://bitbucket.org/xerial/sqlite-jdbc#markdown-header-usage

// load the sqlite-JDBC driver using the current class loader
Class.forName("org.sqlite.JDBC");

Connection connection = null;
try
{
  // create a database connection
  connection = DriverManager.getConnection("jdbc:sqlite:sample.db");
  Statement statement = connection.createStatement();
  statement.setQueryTimeout(30);  // set timeout to 30 sec.

  statement.executeUpdate("drop table if exists person");
  statement.executeUpdate("create table person (id integer, name string)");
  statement.executeUpdate("insert into person values(1, 'leo')");
  statement.executeUpdate("insert into person values(2, 'yui')");
  ResultSet rs = statement.executeQuery("select * from person");
  while(rs.next())
  {
    // read the result set
    System.out.println("name = " + rs.getString("name"));
    System.out.println("id = " + rs.getInt("id"));
  }
}
catch(SQLException e)
{
  // if the error message is "out of memory", 
  // it probably means no database file is found
  System.err.println(e.getMessage());
}
finally
{
  try
  {
    if(connection != null)
      connection.close();
  }
  catch(SQLException e)
  {
    // connection close failed.
    System.err.println(e);
  }
}

} }

Chaque site que j'ai visité a déclaré d'ajouter le fichier jar à votre chemin de génération ou de classe et je pense l'avoir fait, mais rien n'a résolu le problème. Toute aide serait appréciée. Merci.

9
user2646175

Merci à l'utilisateur phew pour l'aide/idées.

J'ai manqué les instructions évidentes en ligne de commande sur le site de Xerial pour le programme exemple. Pour que le programme s'exécute à partir de la ligne de commande, je devais copier le fichier JAR dans le même dossier que le programme .Java. Puis exécutez la commande suivante:

Java -classpath ".: Sqlite-jdbc- (VERSION) .jar" Exemple

7
user2646175

Une façon qui a fonctionné pour moi est d'aller à la bibliothèque système de JRE -> clic droit -> chemin de construction -> configurer le chemin de construction -> ajouter des fichiers JAR externes -> sélectionner le fichier JAR et le compiler. 

1
Xorsist

Toutes les solutions ci-dessus fonctionnent bien, lorsque vous traitez avec une application Java de bureau . Dans le cas de WebAPP Application, les solutions ci-dessus ne fonctionneront pas . nécessaire d'ajouter sqlite-jar sous votre WEB-INF/lib et vous seul pourrez alors exécuter votre application Web avec succès.

Pour ce faire, vous pouvez suivre les étapes ci-dessous:

Aller à:

Projet-> Propriétés-> Assemblage de déploiement-> Ajouter-> Archives du système de fichiers -> Suivant -> Ajouter

Naviguez jusqu'au dossier où vous avez votre sqlite-jar, sélectionnez-le et cliquez sur OK.

Cliquez sur Terminer ..__ OK.

Terminé, vous devriez pouvoir exécuter votre application maintenant.

Merci

1
Yash Bansal

vous pouvez d’abord télécharger sqlite-jdbc-3.8.11.2 et ensuite ajouter le fichier jar à votre projet

Window > Show_view > Package Explorer

step-1: right click on referenced libraries
step-2: select Built path
step-3: configure Built path
step-4: Add External jars file
step-5: add sqlite-jdbc-3.8.11.2
step-6: ok

ou deuxième manière utile


Votre projet peut définir le Classpath: Lib/sqlite-jdbc-3.8.11.2.jar

1)create a folder "Lib" in your project workspace 
2)"Lib" folder paste jar file like "sqlite-jdbc-3.8.11.2.jar"
3)After Double click on your project file i.e. 'MANIFEST.MF'
4)select Runtime(Bottom view panel) 
5)plug-in Classpath(Bottom_right position) to add jar file like "Lib/sqlite-jdbc-3.8.11.2.jar"

this working 100% sure..thanks
1
Chetan Bhagat

Comme indiqué précédemment, ajoutez le fichier jar à votre projet.

Pour Android Studio/IntelliJ, procédez comme suit:

Fichier> Structure du projet> 

 enter image description here

Nouveau module> 

 enter image description here

Importer le package .JAR/.AAR

 enter image description here

Maintenant, sélectionnez/ajoutez votre fichier .jar et laissez IntelliJ faire le reste. 

0
padeg