我正在尝试加载/注册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;
}
}
这是我的项目目录的样子:
这是我将jar文件添加到项目中的方法:
这是输出的样子:(假设循环,因为它在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