2013-05-10 33 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。