我试图让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文件添加到你的构建路径或类路径中,我相信我已经这样做了,但没有解决问题.任何帮助,将不胜感激.谢谢.
感谢用户phew的帮助/想法.
我错过了Xerial网站上针对Sample程序的明显命令行指令.要使程序从命令行运行,我必须将JAR文件复制到与.java程序相同的文件夹中.然后运行以下命令:
java -classpath".:sqlite-jdbc-(VERSION).jar"Sample
小智 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)