java.lang.ClassNotFoundException:来自xerial的Sample.java程序中的org.sqlite.JDBC错误

use*_*175 10 java sqlite

我试图让Xerial的Sample类在Eclipse中使用sqlite,但我不断收到错误"ClassNotFoundException:org.sqlite.JDBC"

我从https://bitbucket.org/xerial/sqlite-jdbc/downloads下载了sqlite-jdbc-3.7.2.jar文件.将它复制到eclipse中我的项目"database_test"下的lib文件夹中.然后右键单击Project-> Properties-> Java Build Path-> Libraries选项卡 - > Add JARs->选择jar文件.我试图从这里找到的Xerial执行此代码: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);
  }
}
Run Code Online (Sandbox Code Playgroud)

}}

我去过的每个站点都说过将jar文件添加到你的构建路径或类路径中,我相信我已经这样做了,但没有解决问题.任何帮助,将不胜感激.谢谢.

use*_*175 7

感谢用户phew的帮助/想法.

我错过了Xerial网站上针对Sample程序的明显命令行指令.要使程序从命令行运行,我必须将JAR文件复制到与.java程序相同的文件夹中.然后运行以下命令:

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

  • 如果你使用windows而不是linux,你应该使用";" 而不是类路径中的":". (4认同)

小智 5

您可以通过将项目转换为 Maven 并将依赖项(来自https://mvnrepository.com)转换为您的pom.xmlas 来添加它:

</dependency>
    <!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc -->
    <dependency>
        <groupId>org.xerial</groupId>
        <artifactId>sqlite-jdbc</artifactId>
        <version>3.34.0</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)