2011-11-17 79 views
1

我想通过Java在网页上使用Sqlite。 我收到以下错误:Java服务器中的Sqlite JDBC页面

java.lang.NoClassDefFoundError: org/sqlite/JDBC 
    model.DataBase.<init>(DataBase.java:35) 

我已经尝试了两种选择:

this.conn = new org.sqlite.JDBC().connect("jdbc:sqlite:" + file, new Properties()); 
    this.stm = this.conn.createStatement(); 

Class.forName("org.sqlite.JDBC"); 
    this.conn = DriverManager.getConnection("jdbc:sqlite:" + file); 
    this.stm = this.conn.createStatement(); 

我使用Eclipse和我配置的jar文件在构建路径中,当作为桌面应用程序运行时,它也能正常工作。

回答

3

仅在您的构建路径中使用sqllite.jar是不够的。如果您将它作为Web应用程序运行,请将该jar放入/ WEB-INF/lib文件夹中。

你可以告诉eclipse导出该文件。

+1

无需摆弄构建路径/导出属性。只需将JAR放入'/ WEB-INF/lib'文件夹就足够了。 – BalusC

1

我知道你说你已经将jar文件包含在你的构建路径中,但是如果它不在你所运行的服务器的$CLASSPATH中,那么你最终会得到这个异常。如果Java Classloader在其知道的jar文件内找不到该类,则会得到NoClassDefFoundError。我建议检查类路径。