[解決済み】 java.lang.ClassNotFoundException: org.sqlite.JDBC error in Sample.java program from xerial
質問内容
XerialのSampleクラスをEclipseでsqliteで動作させようとしていますが、エラー "ClassNotFoundException: org.sqlite.JDBC" が出続けています。
sqlite-jdbc-3.7.2.jar ファイルをダウンロードしました。 https://bitbucket.org/xerial/sqlite-jdbc/downloads . 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ファイルを追加するように書かれていて、私もそうしたと思うのですが、何も問題は解決していません。 何か助言を頂ければ幸いです。 ありがとうございます。
解決方法は?
ユーザー phew さんのヘルプ/アイデアに感謝します。
当たり前のことを見逃していた XerialのサイトにあるSampleプログラムのコマンドライン説明書 . コマンドラインからプログラムを実行させるには、JARファイルを.CLASSファイルと同じフォルダにコピーする必要がありました。そして、次のコマンドを実行します。
java -classpath ".:sqlite-jdbc-(VERSION).jar" Sample
引用符の内側には、コロンで区切られた複数のパス(
:
)、Unixではセミコロン(
;
Windowsでは パスのひとつであるドットは重要です。JARファイルの名前だけでは十分ではありません。Windowsでの完全な呼び出しは次のようになります。
"%JAVA_HOME%\bin\java.exe" -cp "sqlite-jdbc-(VERSION).jar;." Sample
コロンの代わりにセミコロンがあることに注意してください。パスの順番はあまり重要ではありません。
-cp
と同じです。
-classpath
ただ、短いだけです。
関連
-
[解決済み】HTTPステータス 405 - リクエストメソッド「POST」はサポートされていません (Spring MVC)
-
[解決済み] hibernateでResultSetを抽出できない。
-
[解決済み】Javaでユーザー入力を待機させる方法
-
[解決済み】破損したjarファイル
-
[解決済み】Java Error "Exception in thread "main" java.util.InputMismatchException" Array プログラムで発生。
-
[解決済み] エラー - trustAnchors パラメータは空であってはなりません。
-
[解決済み】フォルダに書き込もうとすると「java.nio.file.AccessDeniedException」が発生する件
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] if / for / while 内で "Missing return statement" が発生する。
-
[解決済み] java.sql.SQLException: ユーザー 'root'@'localhost' (using password: YES) のためのアクセスが拒否されました。
-
[解決済み】このコンパイルユニットは名前付きモジュールに関連しているため、名前付きパッケージeclipseを宣言する必要があります。
-
[解決済み】Javaの".class期待値"
-
[解決済み】Doubleはdereferencedできない?
-
[解決済み] 二項演算子「&」のオペランド型がおかしい java
-
[解決済み】デフォルトのキーストアファイルが存在しない?
-
[解決済み】keytoolエラー 鍵屋が改ざんされたか、パスワードが不正確だった場合
-
[解決済み】Javaを包含するクラスではないのか?
-
[解決済み] Hide Utility Class Constructor : ユーティリティクラスはパブリックまたはデフォルトコンストラクタを持つべきではありません。