2017-02-08 3 views
0

Java IDEとしてIntelliJ IDEAを使用しています。JARファイルから正しいJDBCドライバを参照するには?

JavaプロジェクトでSQLデータベースが使用されており、IntelliJ内からプログラムが完全に実行されています。

しかし、JARファイルにコンパイルするとき、私は一貫して悪名高いNo suitable driver found for jdbc:sqliteエラーを受け取ります。

sqlite-jdbc-3.15.1.jar私のプロジェクトにインポートして使用するライブラリがあります。私が何をしても、IDEの外でJARを実行することはできません。

sqlite-jdbc-3.15.1.jarファイルをJARプロジェクトの "/ lib"ディレクトリ(他のすべてのライブラリと同じ)に配置しようとしました。ここで

は、エラーがスローされた私の接続文です:

conn = DriverManager.getConnection("jdbc:sqlite:" + QUICKNOTES_USER_DB_FILENAME); 

私は同様の問題に他のいくつかの解決策を発見した、しかし、彼らはすべてのプログラムを開発しながら、エラーに関連すると思われます。私の問題は展開後です。

答えて

0

短い答え

は、CLASSPATHにJDBCのlibを追加します。長い

回答重要で少なくとも二つのクラスパスがあり、Javaで

。コンパイル時のクラスパスと実行時のクラスパスです。 ランタイムクラスパスに問題があるようです。

jarにすると、 プロジェクトの依存関係はアーティファクト(jarファイル)に含まれません。 jarを実行しようとすると、依然として依存関係が必要です。 Javaはランタイムクラスパス上でそれらを探します。

目的のJDBC libがランタイムクラスパスにリストされていることを確認してください。 これは、CLASSPATH環境変数(ログイン環境またはスクリプトファイルのいずれか)を編集して、目的のjarファイル(またはファイル)を含める必要があることを意味します。

関連する問題