0

Eclipse で Java を使用して多数の Android アプリを作成した後。sqlite データベースを作成できるように、スタンドアロンの Java プログラムを作成する必要があります。これは、最終的には将来の Android アプリで使用されます。

http://sqljet.comの SQLJet ライブラリを使用しており、サンプル コードをコピーしました。

Eclipse で [実行] ボタンを使用してコードを実行しようとすると、次のエラーが発生します。

Exception in thread "main" java.lang.NoClassDefFoundError:        org/antlr/runtime/RecognitionException
at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine$2.runSynchronized(SqlJetEngine.java:282)
at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.runSynchronized(SqlJetEngine.java:217)
at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.readSchema(SqlJetEngine.java:276)
at org.tmatesoft.sqljet.core.table.engine.SqlJetEngine.getOptions(SqlJetEngine.java:299)
at nlmc.loader.apps4care.com.Test.main(Test.java:36)
Caused by: java.lang.ClassNotFoundException: org.antlr.runtime.RecognitionException
at java.net.URLClassLoader$1.run(Unknown Source)
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)
... 5 more

コードが変更されずにコピーされたので、何も問題はないと思います。環境が正しくセットアップされていないのではないかと思います。初心者の Java 開発者 (通常は C#) として、私は問題が何であるかを理解するのに苦労しています。解決策は気にしないでください。

コードが機能し、データベースが作成されました。残念ながら、Android が使用するバージョンである sqlite3 とは互換性がないようです。ふりだしに戻る...!

4

1 に答える 1

0

プログラムには、クラスorg.antlr.runtime.RecognitionExceptionが必要です。あなたがそれを見つけることができるjarのリストについてはここを見てください:http ://www.jarfinder.com/index.php/java/info/org.antlr.runtime.RecognitionException

編集:そしてここでSQLJetのすべての依存関係を見ることができます:http://mvnrepository.com/artifact/org.tmatesoft.sqljet/sqljet/1.1.1

于 2013-02-28T22:36:55.267 に答える