12

Xerial の Sample クラスを Eclipse で sqlite で動作させようとしていますが、「ClassNotFoundException: org.sqlite.JDBC」というエラーが発生し続けます。

https://bitbucket.org/xerial/sqlite-jdbc/downloadsから sqlite-jdbc-3.7.2.jar ファイルをダウンロードしました。Eclipse のプロジェクト「database_test」の下の lib フォルダーにコピーしました。次に、[プロジェクト] -> [プロパティ] -> [Java ビルド パス] -> [ライブラリ] タブ -> [JAR の追加] -> [jar ファイルの選択] を右クリックします。ここにある Xerial からこのコードを実行しようとしています: https://bitbucket.org/xerial/sqlite-jdbc#markdown-header-usage

// load the sqlite-JDBC driver using the current class loader
Class.forName("org.sqlite.JDBC");

Connection connection = null;
try
{
  // create a database connection
  connection = DriverManager.getConnection("jdbc:sqlite:sample.db");
  Statement statement = connection.createStatement();
  statement.setQueryTimeout(30);  // set timeout to 30 sec.

  statement.executeUpdate("drop table if exists person");
  statement.executeUpdate("create table person (id integer, name string)");
  statement.executeUpdate("insert into person values(1, 'leo')");
  statement.executeUpdate("insert into person values(2, 'yui')");
  ResultSet rs = statement.executeQuery("select * from person");
  while(rs.next())
  {
    // read the result set
    System.out.println("name = " + rs.getString("name"));
    System.out.println("id = " + rs.getInt("id"));
  }
}
catch(SQLException e)
{
  // if the error message is "out of memory", 
  // it probably means no database file is found
  System.err.println(e.getMessage());
}
finally
{
  try
  {
    if(connection != null)
      connection.close();
  }
  catch(SQLException e)
  {
    // connection close failed.
    System.err.println(e);
  }
}

} }

私が訪れたすべてのサイトで、ビルド パスまたはクラス パスに jar ファイルを追加するように言われました。私はそれを行ったと思いますが、何も問題を解決していません。どんな助けでも大歓迎です。ありがとう。

4

7 に答える 7

11

ヘルプ/アイデアを提供してくれたユーザー phew に感謝します。

Xerial のサンプル プログラムのサイトにある明らかなコマンド ラインの説明を見逃していました。プログラムをコマンド ラインから実行するには、JAR ファイルを .CLASS ファイルと同じフォルダーにコピーする必要がありました。次に、次のコマンドを実行します。

java -classpath ".:sqlite-jdbc-(VERSION).jar" Sample

:引用符の内側には複数のパスがあり、Unix ではコロン ( )、Windows ではセミコロン ( ) で区切られてい;ます。パスの 1 つとしてのドットは重要です。JAR ファイルに名前を付けるだけでは十分ではありません。Windows での完全な呼び出しは次のようになります。

"%JAVA_HOME%\bin\java.exe" -cp "sqlite-jdbc-(VERSION).jar;." Sample

コロンの代わりにセミコロンに注意してください。パスの順序は実際には問題ではなく、 と-cp同じですが-classpath、短いだけです。

于 2013-08-09T15:26:37.277 に答える
1

私にとってうまくいった方法の1つは、JREシステムライブラリに移動することです->右クリック->ビルドパス->ビルドパスを構成->外部jarを追加-> jarを選択してコンパイルします。

于 2015-02-03T16:13:45.717 に答える
1

最初にsqlite-jdbc-3.8.11.2をダウンロードしてから、プロジェクトに jar ファイルを追加します。

Window > Show_view > Package Explorer

step-1: right click on referenced libraries
step-2: select Built path
step-3: configure Built path
step-4: Add External jars file
step-5: add sqlite-jdbc-3.8.11.2
step-6: ok

または2番目の方法が便利


プロジェクトでクラスパスを設定できます: Lib/sqlite-jdbc-3.8.11.2.jar

1)create a folder "Lib" in your project workspace 
2)"Lib" folder paste jar file like "sqlite-jdbc-3.8.11.2.jar"
3)After Double click on your project file i.e. 'MANIFEST.MF'
4)select Runtime(Bottom view panel) 
5)plug-in Classpath(Bottom_right position) to add jar file like "Lib/sqlite-jdbc-3.8.11.2.jar"

this working 100% sure..thanks
于 2017-01-12T10:55:31.393 に答える