2013-05-10 70 views
0

尝试在我的Mac上使用Eclipse插件android-sqlite-browser-for-eclipse,但在尝试打开模拟器上的db文件时出现下面列出的错误。Eclipse插件“Questoid SQLite浏览器”得到错误org.antlr.runtime.RecognitionException

一些谷歌搜索导致我this所以我下载了antlr-runtime-3.0.1.jar但我应该把它放在哪里,我该如何使插件找到它?

抛出java.lang.ClassNotFoundException: 在 org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)org.antlr.runtime.RecognitionException 在 org.eclipse.osgi .internal.loader.BundleLoader.findClass(BundleLoader.java:421) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) 在 org.eclipse.osgi.internal.baseadaptor .DefaultClassLoader.loadClass(DefaultClassLoader.java:107) at java.lang.ClassLoader.loadClass(ClassLoader.java:247)at org.tmateso ft.sqljet.core.table.SqlJetDb $ 2.runWithLock(SqlJetDb.java:249) 在 org.tmatesoft.sqljet.core.table.SqlJetDb.runWithLock(SqlJetDb.java:307) 在 org.tmatesoft.sqljet .core.table.SqlJetDb.readSchema(SqlJetDb.java:244) 在 org.tmatesoft.sqljet.core.table.SqlJetDb.refreshSchema(SqlJetDb.java:715) 在 org.tmatesoft.sqljet.core.table .SqlJetDb.getSchemaInternal(SqlJetDb.java:338) 在 org.tmatesoft.sqljet.core.table.SqlJetDb.getSchema(SqlJetDb.java:333) 在 com.questoid.sqlitebrowser.view.SqliteBrowserView.getSqlJetSchema(SqliteBrowserView .java:168) at co m.questoid.sqlitebrowser.view.SqliteBrowserView.createPartControl(SqliteBrowserView.java:77) 在 org.eclipse.ui.internal.ViewReference.createPartHelper(ViewReference.java:386) 在 org.eclipse.ui.internal。 ViewReference.createPart(ViewReference.java:240) 在 org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595) 在 org.eclipse.ui.internal.Perspective.showView(Perspective.java: 2245) 在 org.eclipse.ui.internal.WorkbenchPage.busyShowView(WorkbenchPage.java:1145) 在 org.eclipse.ui.internal.WorkbenchPage $ 20.run(WorkbenchPage.java:3925) 在 org.eclipse.swt.custom.BusyIndi​​cator.showWhile(BusyIndi​​cator.java:70) 在 org.eclipse.ui.internal.WorkbenchPage.showView(WorkbenchPage.java:3922) 在 org.eclipse.ui.internal .WorkbenchPage.showView(WorkbenchPage.java:3898) 在 com.questoid.sqlitebrowser.SqliteBrowserPluginStartup $ 3 $ 1.run(SqliteBrowserPluginStartup.java:150) 在 org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java :180) 在 org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:150) 在org.eclipse.swt.widgets.Display.syncExec(Display.java:4605)在 com.questoid。 sqlitebrowser.SqliteBrowserPluginStart (SqliteBrowserPluginStartup.java:141) at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584 ) at org.eclipse.jface.action。ActionContributionItem.access $ 2(ActionContributionItem.java:501) at org.eclipse.jface.action.ActionContributionItem $ 6.handleEvent(ActionContributionItem.java:452) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4134)at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1458)at org.eclipse.swt .widgets.Widget.sendEvent(Widget.java:1481)at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1466)at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java :1271)at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3980) at org.eclipse.swt.widgets.Display.readAndDispatch(Dis play.java:3619) 在 org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701) 在org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)在 组织.eclipse.ui.internal.Workbench.access $ 4(Workbench.java:2499)at org.eclipse.ui.internal.Workbench $ 7.run(Workbench.java:679)at org.eclipse.core.databinding.observable .Realm.runWithDefault(Realm.java:332) 在 org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668) 在 org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149 ) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) 在 org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) 在 org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) 在 有机sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)(Eclipse) (Main.invokeFramework)(Main的.java:629)在 org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)在 org.eclipse.equinox.launcher.Main.run(Main.java:1438)

回答

0

我没有在MAC上使用eclipse,但是我们在Windows或Linux上做的是将antlr.jar复制到您的应用程序库文件夹中。如果您已经在类路径中添加了lib文件夹,只需从eclipse中刷新项目,它就可以工作。

如果您还没有添加的lib路径,右击项目上ProjectExplorer窗格中, 单击属性, 在左窗格中选择Java - >构建路径 - >用户库 选择添加外部JAR按钮 浏览antlr广告牌所在的位置并选择antlr广告牌。 单击确定 点击Finish 刷新和重新建造

+0

这是一个eclipse插件,并不是我想要的Android应用程序。 'android-sqlite-browser-for-eclipse'只是一个插件jar,没有项目。 改为使用http://sqlitebrowser.sourceforge.net/开始。工作,但独立,没有集成在Eclipse中。 – mach 2013-05-31 08:39:01

+0

尝试将plugin-jar复制到eclipse/plugins文件夹并重新启动eclipse并检查首选项。如果打包在jar中的清单文件在类路径中包含所有必需的类,则可以成功将该插件添加到eclipse中 – rozar 2013-06-05 04:55:09

0

更改罐子压缩的扩展。不要提取zip文件夹。 在winrar或其他存档器中打开它。将antlr-runtime.jar复制到lib文件夹。

将MANIFEST文件从META-INF文件夹复制到桌面。在记事本中打开它。你会在下面的行Bundle-ClassPath:。,lib/sqljet-1.0.7.jar中找到插件所需的jar。将其修改为Bundle-ClassPath:。,lib/sqljet-1.0.7.jar,lib/antlr-runtime-3.0.1.jar。

保存MANIFEST文件并将其复制到存档器中的META-INF文件夹中。关闭归档器后,将扩展名从.zip重命名为.jar。

将jar复制到eclipse/plugins文件夹并重新启动eclipse。