【发布时间】:2019-01-28 01:11:47
【问题描述】:
语言:Java
程序:连接到数据库
问题:我正在尝试按照 TutorialsPoint tutorial 连接 sqlite 数据库,但我不断收到未找到主类的错误。
实现:下面是我的代码,后面是我的终端命令和文件夹结构截图。但基本上我所有的文件都位于一个文件夹中,包括 sqlite jar 文件。
import java.sql.*;
public class Test {
public static void main(String[] args) {
Connection c = null;
try{
Class.forName("com.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:test.db");
} catch(Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
System.out.println("Opened database successfully!");
}
}
终端命令
javac Test.java
java -classpath ".;sqlite-jdbc-3.23.1.jar" Test
【问题讨论】:
-
我在这里阅读了 oracles 网站上的一些文档,docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html,看来我正在正确地进行编译并正确添加类路径。
-
这是在 Linux 上吗?如果是这样,那么这是 Classpath does not work under linux 的副本(使用冒号作为分隔符)。
-
我以为你在类路径参数中的位置之间使用冒号?
-
@rgettman 是的,我解决了这个问题,但现在它抱怨它找不到 com.sqlite.JDBC 类。我可能会删除这个问题并调查为什么找不到它。谢谢大家
-
顺便说一句,您不再需要使用
Class.forName()(除非使用一些真正的旧版驱动程序)。