2017-03-19 15 views
1

これまでにこの質問が表示されていました。以前の回答を見て問題を並べ替えるために使ってみましたが、できませんでした。jdbc.sqliteに適したドライバが見つかりません

私はライブラリシステムを作成しており、登録クラスとログインクラスの両方のコードを記述しているだけでなく、データベースのクラスも作成しています。プログラムを実行しようとすると、適切なドライバが見つからず、データベースのファイルパスが続いているというメッセージが表示されます。これは私のデータベースクラスです:

私は絶対にどのような助けになるかわかりません。ありがとう!

+0

ライブラリにsqlite jarを追加しますか? –

+0

私は持っていると思っていたが、私はそうではなかったように見える!ありがとうございました。ただし、java.lang.ClassNotFoundException:org.sqlite.JDBC – Conor

+0

という新しいエラーが表示されます。Eclipseを使用している場合は、Project-> Porperties-> Java Build Path-> Libraries - > Add Extenal Jarsの順に進みます。この後、sqlite jarファイルを追加します。 –

答えて

0

おそらく、ここで起こっていることは、ドライバがクラスパスにないことです。あなたの現在の問題は、あなたがドライバを動的にロードしているが、見つからないということです。

あなたは、デバッグ中に、インポートのディレクティブを追加することで、コンパイル時にエラーにこれを回すことができます。

import org.sqlite.JDBC; 

を差がClass.forNameのコールが確立している間importディレクティブは、コンパイル時の依存性があるということです実行時依存性。通常、これを実行して、再コンパイルせずに使用するデータベースを変更することができます(ただし、ここでは接続文字列が固定配線されているため、動的に行う必要はありません)。たとえば、接続文字列を設定してから、適切なドライバを動的にロードすることができます。

今のところ、インポート行を追加し、そのクラスが見つからない理由をトラブルシューティングします。ビルドやクラスパスの問題が発生する可能性があります。たとえば、mavenを使用している場合は、そこに追加することになります。

コンパイル後、インポート指示を削除し、エラーを実行時エラーに戻すことができます。

しかし、基本的なチェックリストは次のとおりです。

  1. は、ライブラリはありますか?
  2. 検索されたパスにありますか?
  3. 依存関係としてMavenなどの自動依存性管理ツールがありませんか?
関連する問題