2011-07-29 12 views
0

Eclipseには初めてです。 SQLLiteデータベースに接続しようとしています。私はhttp://www.zentus.com/sqlitejdbc/usage.htmlからのexamapleに従っています。私はプロジェクトにインポート、jarファイルをダウンロードしたが、私は、コードを実行したら、私は私がプロジェクトにjarファイルをインポートしていても、クラスを見つけることができないようにEclipseはorg.sqlite.JDBC(Java)を見つけることができません

Exception in thread "main" java.lang.ClassNotFoundException: org.sqlite.JDBC 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Unknown Source) 
    at com.amazon.IP2Zip.Test.main(Test.java:7) 

は思え例外次取得します。

任意の助けいただければ幸いです:)

+0

どのようにプロジェクトにインポートしましたか? "ビルドパスに追加..."? – aioobe

+0

eclipseは 'import org.sqlite.JDBC;'をソースファイルに追加すると何を言いますか? – rsp

答えて

2

は、プロジェクトを右クリックして、その選択したビルド・パスからプロパティを選択し、そこにライブラリセクションは、外部JARの追加]を選択し、jarファイルが格納されている場所を参照します。

ホープこれは

1

にjava.lang.ClassNotFoundExceptionによると、クラスがCLASSPATHで見つけることができないトリックを行います。 -

Project-> BuildPath-> libraries - > Add External jarsのようにして、パスをビルドパスに入れてみてください。

+1

彼の仕事ではありません。それはバグです。 xerialの著者はそれを修正する必要があります。 – Kashyap

1

これはあなたのケースでは当てはまらないかもしれませんが、私はロジックを無視するような同様の問題を解決しました。このトピックに関するいくつかの同様の質問がありますが、すべて私の問題を解決するには至りませんでした。私は、私が遭遇した問題について言及しているかもしれないと考えました。

クイック検索で取得したJARをダウンロードしました。私はまずこのライブラリをEclipseで取り込もうとしましたが、これは私がよく知っているものです。私はいつものようにビルドパスにJARを追加し、org.sqlite.JDBCが見つかったという馬鹿げた出力を期待してプログラムを実行しました。残念ながら、私は代わりにClassNotFoundExceptionを満たしていました。

JARの内容を見て、確かに、org.sqlite.JDBCがそこにあるように見えました。その時点で、私は間違ったことをしているに違いないと思って、私がどこに間違っていたのかを判断するために、同様の質問を探しました。唯一の問題は、彼らの大部分が私が始めたことを正確に推薦していたことでした!私はおそらくEclipseセットアップで何かがファンキーなものだと考えていたので、コマンドラインで手動でクラスパスを指定して実行しました。それでも、私はClassNotFoundExceptionに会った。

私のロープの終わりには、JARが何らかの形で壊れていると思っていた可能性があると考えていました。今回はプロジェクトのダウンロードページに直接入りました。 EclipseのビルドパスにJARを追加するとき、私はそれが私が前に持っていたものとは少し異なる構造を持っていたことに気付きました。それから私はそれを実行しようと...それは働いた!だからあなたが壊れたJARをダウンロードするという極端な不一致では、それはあなたの問題を説明することができます。

+0

私はまったく同じ経験をしていました。jarはmavenによって解決されましたが、 'org.sqlite.JDBC'クラスはそのjarの一部でしたが、それでも' ClassNotFoundException'で失敗しました。ローカルの '.m2'キャッシュをクリアした後(そしてjarファイルを再ダウンロードする)、アプリケーションが実行されました。 – Maarten

+0

教訓私のために学んだ:ダウンロードされたすべてのjarが正しいと仮定しないでください。私は知っている、誰もこれを行うことはほとんどありませんが、チェックサムを自動的にチェックすることを検討してください。明らかに、このチェックを可能にするreposを定義するときに属性があります。 https://maven.apache.org/settings.html#Repositoriesを参照してください。 – Maarten

0

私もこの問題に遭遇しました。私のプロジェクトでは、JARファイルにすべてをパッケージ化して、スタンドアロンアプリケーションを作成したかったのです。

MANIFEST.MFファイルのクラスパスにライブラリを追加するのを忘れたため、ClassNotFoundExceptionがスローされました。 MANIFEST.MFファイルに "Class-Path:lib/sqlite-jdbc-3.7.15-M1.jar"という行を追加すると、私の問題が解決しました。

関連する問題