【问题标题】:Eclipse plugin Aptana errors on Mac OSX LionMac OSX Lion 上的 Eclipse 插件 Aptana 错误
【发布时间】:2011-10-21 16:27:22
【问题描述】:

我在 Mac OSX Lion 上的现有 Eclipse 安装中安装了 Aptana 插件 (http://download.aptana.com/studio3/plugin/install)。现在我的工作区出现了一个错误,它使 Eclipse 冻结了大约 20 秒左右,并出现如下错误:

Screenshot of error

我通过卸载确认它是插件,这完全消除了错误。重新安装并返回相同的错误。当我单击确定时,Eclipse 偶尔会返回,但更多时候我必须重新启动它。出现多个错误窗口,好像是一个循环。

下面列出了部分日志。许多类似的块出现在整个日志中。

任何帮助将不胜感激。我是否缺少此插件工作所需的库? apache IOReactorException 有什么问题?可能是与 Lion 的不兼容问题?

!ENTRY org.eclipse.ui.workbench 4 2 2011-08-06 11:32:42.982 !MESSAGE 从插件调用代码时出现问题:“org.eclipse.ui.workbench”。 !堆栈 0 java.lang.NoClassDefFoundError: org/apache/http/nio/reactor/IOReactorException 在 com.aptana.webserver.core.WebServerCorePlugin.ensureDefaultWebServer(WebServerCorePlugin.java:123) 在 com.aptana.webserver.core.WebServerCorePlugin.getDefaultWebServerConfiguration(WebServerCorePlugin.java:113) 在 com.aptana.preview.internal.DefaultPreviewHandler.handle(DefaultPreviewHandler.java:69) 在 com.aptana.preview.PreviewManager.testEditorInputForPreview(PreviewManager.java:266) 在 com.aptana.preview.internal.HasPreviewPropertyTester.test(HasPreviewPropertyTester.java:20) 在 org.eclipse.core.internal.expressions.Property.test(Property.java:58) 在 org.eclipse.core.internal.expressions.TestExpression.evaluate(TestExpression.java:99) 在 org.eclipse.core.internal.expressions.CompositeExpression.evaluateAnd(CompositeExpression.java:53) 在 org.eclipse.core.internal.expressions.WithExpression.evaluate(WithExpression.java:72) 在 org.eclipse.ui.internal.services.EvaluationResultCache.evaluate(EvaluationResultCache.java:74) 在 org.eclipse.ui.internal.services.ExpressionAuthority.evaluate(ExpressionAuthority.java:165) 在 org.eclipse.ui.internal.services.EvaluationAuthority.refsWithSameExpression(EvaluationAuthority.java:155) 在 org.eclipse.ui.internal.services.EvaluationAuthority.sourceChanged(EvaluationAuthority.java:129) 在 org.eclipse.ui.internal.services.ExpressionAuthority.sourceChanged(ExpressionAuthority.java:311) 在 org.eclipse.ui.internal.services.ExpressionAuthority.sourceChanged(ExpressionAuthority.java:290) 在 org.eclipse.ui.AbstractSourceProvider.fireSourceChanged(AbstractSourceProvider.java:99) 在 org.eclipse.ui.internal.services.WorkbenchSourceProvider.checkActivePart(WorkbenchSourceProvider.java:401) 在 org.eclipse.ui.internal.services.WorkbenchSourceProvider.checkActivePart(WorkbenchSourceProvider.java:300) 在 org.eclipse.ui.internal.services.WorkbenchSourceProvider.handleCheck(WorkbenchSourceProvider.java:286) 在 org.eclipse.ui.internal.services.WorkbenchSourceProvider.checkOtherSources(WorkbenchSourceProvider.java:858) 在 org.eclipse.ui.internal.services.WorkbenchSourceProvider$6.handleEvent(WorkbenchSourceProvider.java:842) 在 org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) 在 org.eclipse.swt.widgets.Display.filterEvent(Display.java:1034) 在 org.eclipse.swt.widgets.Display.sendEvent(Display.java:3782) 在 org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1375) 在 org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1398) 在 org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1379) 在 org.eclipse.swt.widgets.Shell.windowDidBecomeKey(Shell.java:1892) 在 org.eclipse.swt.widgets.Display.windowProc(Display.java:5031) 在 org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(本机方法) 在 org.eclipse.swt.widgets.Widget.callSuper(Widget.java:213) 在 org.eclipse.swt.widgets.Widget.becomeKeyWindow(Widget.java:324) 在 org.eclipse.swt.widgets.Shell.becomeKeyWindow(Shell.java:478) 在 org.eclipse.swt.widgets.Display.windowProc(Display.java:4863) 在 org.eclipse.swt.internal.cocoa.OS.objc_msgSend(本机方法) 在 org.eclipse.swt.internal.cocoa.NSWindow.makeKeyAndOrderFront(NSWindow.java:190) 在 org.eclipse.swt.widgets.Shell.makeKeyAndOrderFront(Shell.java:1130) 在 org.eclipse.swt.widgets.Shell.setWindowVisible(Shell.java:1740) 在 org.eclipse.swt.widgets.Shell.open(Shell.java:1173) 在 org.eclipse.jface.window.Window.open(Window.java:797) 在 org.eclipse.ui.internal.WorkbenchWindow.open(WorkbenchWindow.java:790) 在 org.eclipse.ui.internal.Workbench$66.runWithException(Workbench.java:3658) 在 org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31) 在 org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) 在 org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134) 在 org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3593) 在 org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3286) 在 org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803) 在 org.eclipse.ui.internal.Workbench$31.runWithException(Workbench.java:1567) 在 org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31) 在 org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) 在 org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134) 在 org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3593) 在 org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3286) 在 org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2548) 在 org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438) 在 org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671) 在 org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) 在 org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664) 在 org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) 在 org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115) 在 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:369) 在 org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620) 在 org.eclipse.equinox.launcher.Main.basicRun(Main.java:575) 在 org.eclipse.equinox.launcher.Main.run(Main.java:1408) 引起:java.lang.ClassNotFoundException:org.apache.http.nio.reactor.IOReactorException 在 org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422) 在 org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410) 在 org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 73 更多

【问题讨论】:

  • 老实说,我以前从未见过这个错误。我们中的一些人在 Lion 上开发。您使用的是什么版本的 Eclipse,您还安装了什么?

标签: java eclipse eclipse-plugin aptana


【解决方案1】:

(我讨厌练习线程死灵术,但是这个问题仍然是......一个问题。)

在 Mountain Lion 和 Java 1.6.0_37 上使用带有最新 Aptana 插件 (v3.x?) 的 Eclipse 4.2 SR1 时,我遇到了同样的错误。我的一个 Eclipse 工作区受到影响,但我可以切换到一个空的工作区并启动 Eclipse。

.metadata/.log 没有提供任何有用的信息,但我在 eclipse/configuration/derby.log 中发现了一些有趣的东西:

    ============= begin nested exception, level (1) ===========
java.sql.SQLException: Database 'aptanaDB' not found.
    at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
    at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
    at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
    at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
    at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
    at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
    at org.apache.derby.impl.jdbc.EmbedConnection.newSQLException(Unknown Source)
    at org.apache.derby.impl.jdbc.EmbedConnection.handleDBNotFound(Unknown Source)
    at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)
    at org.apache.derby.impl.jdbc.EmbedConnection30.<init>(Unknown Source)
    at org.apache.derby.impl.jdbc.EmbedConnection40.<init>(Unknown Source)
    at org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Unknown Source)
    at org.apache.derby.jdbc.InternalDriver.connect(Unknown Source)
    at org.apache.derby.jdbc.AutoloadedDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(DriverManager.java:579)
    at java.sql.DriverManager.getConnection(DriverManager.java:243)
    at com.aptana.usage.AptanaDB.shutdown(AptanaDB.java:156)
    at com.aptana.usage.UsagePlugin.stop(UsagePlugin.java:71)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:771)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(BundleContextImpl.java:764)
    at org.eclipse.osgi.framework.internal.core.BundleHost.stopWorker(BundleHost.java:510)
    at org.eclipse.osgi.framework.internal.core.AbstractBundle.suspend(AbstractBundle.java:566)
    at org.eclipse.osgi.framework.internal.core.Framework.suspendBundle(Framework.java:1206)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.decFWSL(StartLevelManager.java:592)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:257)
    at org.eclipse.osgi.framework.internal.core.StartLevelManager.shutdown(StartLevelManager.java:215)
    at org.eclipse.osgi.framework.internal.core.InternalSystemBundle.suspend(InternalSystemBundle.java:284)
    at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:692)
    at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:600)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.shutdown(EclipseStarter.java:399)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:199)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
============= end nested exception, level (1) ===========

我不知道如何处理这些信息,但也许它会帮助 Aptana 团队找出问题所在。

【讨论】:

    【解决方案2】:

    对我来说,这个问题的解决方案(Ubuntu 11.04,Exlipse Helios)是替换插件目录中的两个 jars。我已经替换(当然是手动):

    • org.apache.httpcomponents.httpcore_4.0.1.jar
    • org.apache.httpcomponents.httpcore_4.1.0.v201101201700.jar

    (正如您所见,这是一个潜在的问题来源)只有一个:

    org.apache.httpcomponents.httpcore_4.1.jar

    我在 Apache Http Core 站点的 httpcomponents-core-4.1-osgi-bin.tar.gz 文件中找到(在“档案”中搜索)。

    也许只删除 v. 4.0.1 就可以了,但我没有检查这个解决方案。到目前为止,一切顺利。

    【讨论】:

    【解决方案3】:

    在我看来,这不是“Lion 日食”问题: 每次我在 Eclipse 中打开 HTML 页面时,我都会在 Linux amd64 下使用 Eclipse Helios 看到这一点——即使我使用的是文本编辑器而不是 Aptana HTML 编辑器。 如果卸载 EGit 修复它会尝试...

    【讨论】:

      【解决方案4】:

      我在安装 Aptana 的 Windows 7 插件时遇到了这个问题。

      对我来说,最终的解决方案是卸载 EGit。

      希望同样适用于您!对于 Git 功能,有许多单独的工具(尽管通过 Eclipse 运行所有东西会很好)。

      【讨论】:

      • 这恰好是我的问题。进一步看,Aptana 似乎内置了自己的 git 支持,因此与安装的 EGit 肯定存在某种冲突。感谢所有其他人的帮助。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-07
      • 2013-12-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多