-->

java.lang.ClassNotFoundException: org.sqlite.JDBC

2019-01-12 09:51发布

问题:

I am trying to get Xerial's Sample class to work in Eclipse with sqlite, but I keep getting the error "ClassNotFoundException: org.sqlite.JDBC"

I downloaded the sqlite-jdbc-3.7.2.jar file from https://bitbucket.org/xerial/sqlite-jdbc/downloads. Copied it into the lib folder under my project "database_test" in eclipse. Then right-clicked on the Project->Properties->Java Build Path->Libraries Tab->Add JARs->Select the jar file. I am trying to execute this code from Xerial found here: 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);
  }
}

} }

Every site I have been to has said add the jar file to your build path or class path and I believe I have done that, but nothing has solved the problem. Any help would be appreciated. Thanks.

回答1:

Thanks to user phew for the help/ideas.

I missed the obvious command line instructions on Xerial's site for the Sample program. To get the program to run from the command line, I had to copy the JAR file into the same folder as the .java program. Then run the following command:

java -classpath ".:sqlite-jdbc-(VERSION).jar" Sample



回答2:

One way that worked for me is to go to JRE System Library -> right clik -> build path -> configure build path -> add external jars -> select the jar and compile.



回答3:

first you can download sqlite-jdbc-3.8.11.2 and after add jar file in your project

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

or second way useful


your project can set the 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


回答4:

All the above solutions works well, when you are dealing with the desktop JAVA Application. In the case of WebAPP Application, following above solutions will not work. Actually it is the issue with your App server, that is you needed to add sqlite-jar under your WEB-INF/lib and then only you will be able to run your webapp successfully.

For doing so you can follow below steps:

Go to:

Project-> Properties-> Deployment Assembly-> Add-> Archives From File System -> Next -> Add

Navigate to the folder where you have your sqlite-jar, select it and hit OK.

Click Finish. OK.

Done, you should be able to run your app now.

Thanks



回答5:

As said before, add the jar File to your Project.

For Android Studio / IntelliJ you just go this way:

File > Project Structure >

New Module >

Import .JAR/.AAR Package

Now select/add your .jar File and let IntelliJ do the rest.



回答6:

Step 1:

Copy sqlite library.


Step 2:

paste the library in 'WebContent/WEB-INF/lib' directory you can also do it by selecting 'lib' folder in eclipse and pressing Ctrl + V

Step 3:

Restart the server and hopefully problem should be fixed