Class.forName(“org.sqlite.JDBC”)不工作。 ClassNotFound异常

时间:2017-07-11 22:29:12

标签: java sqlite jdbc intellij-idea classpath

我正在尝试加载/注册JDBC驱动程序,因此我可以使用SQLite,它在NetBeans中工作,但我似乎无法在IntelliJ中使用它。我在这个问题上花了太长时间,所以对任何帮助表示赞赏。

我导航了File / ProjectStructure / Modules,然后单击了依赖选项卡,然后单击添加Jar文件。然后我添加了“sqlite-jdbc-3.19.3.jar”文件

我的代码似乎无法找到该类:

import org.dreambot.api.script.AbstractScript;
import org.dreambot.api.script.Category;
import org.dreambot.api.script.ScriptManifest;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

@ScriptManifest(category = Category.WOODCUTTING, name = "Mulitbox", author =     
"Computor", version = 2.0)
public class Main extends AbstractScript {

private Connection conn;
private Statement stmt;

@Override
public int onLoop() {

    try {
        log("inDB");
        Class.forName("org.sqlite.JDBC"); // Register the JDBC Driver - Step 2
        // Establish Connection. Create Database if none exists else connect to existing one - Step 3
        // url a database url of the form *  <code> jdbc:<em>subprotocol</em>:<em>subname</em></code>
        conn = DriverManager.getConnection("jdbc:sqlite:userDB.db");
        stmt = conn.createStatement(); // Create statement - Step 4s

        stmt.execute("CREATE TABLE ACCOUNTS (USERNAME TEXT);"); // Execute SQL Statement



    } catch (SQLException e) {
        log("test SQLException" + e.getMessage());
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        log("test ClassNotFound");
        e.printStackTrace();
    }

    return 0;
}
}

这是我的项目目录的样子: Screen 1

这是我将jar文件添加到项目中的方法: Screen 2

这是输出的样子:(假设循环,因为它在onLoop()块中)

Script set to Running!
inDB
test ClassNotFound
inDB
test ClassNotFound
inDB
test ClassNotFound
inDB
test ClassNotFound

编辑7/12/2017 6:18 PM:

我没有ClassNotFound Exception了。我通过添加SQLite .jar文件来解决它,就像我发布的图片一样,然后进入Artifacts并右键单击SQlite .jar文件并选择Extract into output root。然后选择“包含在项目构建中”复选框。然后它应该工作。

但是现在我的联系不起作用了。 conn = DriverManager.getConnection("jdbc:sqlite:userDB.db"); 当我从抛出的异常中检索消息时,它会给出:Error Opening Connection

0 个答案:

没有答案