我的Java程序(我的第一个程序)似乎是以下标准代码行中的hanging

    Class.forName("org.sqlite.JDBC");

    Connection c = null;
    Statement stmt = null;
    c = DriverManager.getConnection("jdbc:sqlite:test.db");
    c.setAutoCommit(false);


我收到以下error

java.sql.SQLException: No suitable driver found for jdbc:sqlite:test.db


但是,当运行Java应用程序时,我提供了jdbc driver的正确位置(我认为)。

sudo java -cp ./jsoup-1.7.3.jar:./sqlite-jdbc-3.7.2.jar:. <AppName>


任何想法如何进行?
太感谢了

最佳答案

sudo java -cp ./jsoup-1.7.3.jar:./sqlite-jdbc-3.7.2.jar:.

  
  任何想法如何进行?太感谢了


是。我看到两个主要问题。第一,除非有充分的理由,否则不要使用sudo运行程序。如果这样做,可能会在以后引起您的重大痛苦。

其次,您的类路径看起来不正确。 jar文件位于其上。第一部分应该是搜索的路径,第二部分应该是要搜索的jar。

java -cp ".:jsoup-1.7.3.jar:sqlite-jdbc-3.7.2.jar" ...


最后,我假设您是从sqlite herejsoup here下载的,并且在当前目录中有jar文件,如果仍然无法正常工作,则应检查这些文件是否正确。

$ sha1sum sqlite-jdbc-3.7.2.jar
cea9f7f8e6bcb580d953a8651fb8391640de0f85  sqlite-jdbc-3.7.2.jar
$ sha1sum jsoup-1.7.3.jar
ab1f22cadc2f8b514e55ba368f5128056fe304da  jsoup-1.7.3.jar

10-05 20:39
查看更多