2016-07-22 21 views
0

私は自分の新しいアプリケーションを自分のRaspberry Piで実行しようとしています。それはsqliteデータベースに接続する必要があります。 sqlite-jdbc-3.8.11.2.jarがbuild-pathに追加されます。他のLinuxではうまく動作しますが、Raspberryではうまく動作しません。 私はhttps://bitbucket.org/xerial/sqlite-jdbc/issues/79/compile-for-armからlibsqlitejdbc.soをダウンロードしましたが、これはPiでそれを実行するために必要であると読みました。ホーム/ PI /ワークスペース/データ/ /に関連するコードですlibsqlitejdbc.soファイルは次のとおりです。Java + Raspberry Pi + SQlite = NoClassDefFoundError

Class.forName("org.sqlite.JDBC"); 
System.loadLibrary("sqlitejdbc"); 
connection = DriverManager.getConnection("jdbc:sqlite:"+DB_PATH); 

私はそれを実行すると、私はライン2によって引き起こさNoClassDefFoundErrorが取得:

java.lang.NoClassDefFoundError: org/sqlite/NativeDB 
    at java.lang.ClassLoader$NativeLibrary.load(Native Method) 
    at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1968) 
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1893) 
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1883) 
    at java.lang.Runtime.loadLibrary0(Runtime.java:849) 
    at java.lang.System.loadLibrary(System.java:1088) 
    at kanu.kayapp.DBController.<init>(DBController.java:46) 
    at kanu.kayapp.DBController.<clinit>(DBController.java:26) 
    at kanu.kayapp.Server.parseMessage(Server.java:210) 
    at kanu.kayapp.Server.mainLoop(Server.java:145) 
    at kanu.kayapp.Main.main(Main.java:34) 
Caused by: java.lang.ClassNotFoundException: org.sqlite.NativeDB 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    ... 11 more 

を私はここに.jarファイルを使用してラズベリーパイのJDBCのSQLiteの問題を解決する管理している

$ export CLASSPATH="/home/pi/workspace/data/" 
$ export LD_LIBRARY_PATH="/home/pi/workspace/data/" 
+0

私は答えも探していますか? – Taru

+0

@樽データベース用にhsqldbを使って解決しました。残念ながら、私はSQLiteを使用するための解決策が見つかりませんでした。 – Ozelot

答えて