0

在 Eclipse 中使用 Java 创建了许多 Android 应用程序之后。我现在需要创建一个独立的 Java 程序,以便我可以创建一个 sqlite 数据库 - 最终将在未来的 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 回答