1

Eclipse プロジェクトを Windows から Mac に移行しています。何らかの理由で、特に MAC で SQLite JDBC ドライバーをロードする際にクラスパスの問題が発生しています。WindowsのコピーはOKです。

    Exception in thread "main" org.hibernate.service.classloading.spi.ClassLoadingException: Specified JDBC Driver org.sqlite.JDBC class not found  at org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:107)

これが私がしたことです:

  1. 表示された System.getProperty("java.class.path") - 結果は PC と MAC でまったく同じです。同じ JAR とバージョンがインポートされており、余分なものや不足しているものはありません。

  2. 最初は、Maven ローカル リポジトリから sqlite を参照していました。実際の sqlite-jdbc-3.7.2.jar を取り出して、どこかに移動し、ビルド パスで直接参照しました。しかし、問題は残ります。

いくつかの観察:

Windows では、「org.sqlite」と入力します。コードでは、一連のオートコンプリート オプションが表示されますが、Mac では何も表示されません。

他の JAR は正常にインポートされているようです (例: JodaTime jar があり、正常に動作しています)。

これはクラスパスの問題ですか、それとも SQLite-JDBC の Mac ディストリビューションが必要ですか? 彼らのサイトに特定のjarが表示されません。私の現在のコピーは、Maven の依存関係を通じてダウンロードされました。

前もって感謝します。

4

1 に答える 1

0

問題は修正されました。

現在の JAR を xerial.org からの新しいコピーに置き換えるだけで、うまくいきました。

Maven の依存関係のダウンロードから取得した最初の JAR が破損しているか、一部のファイルのアクセス許可が原因で、JVM が JAR のコンテンツにアクセスできませんでした。

于 2012-12-02T08:37:53.437 に答える