首页 > 解决方案 > Eclipse (Mars) 建模工具 - 无法打开“市场”或“安装详细信息”

问题描述

我在 Mars 版本中遇到了关于 Eclipse 建模工具的问题(我正在使用一些已经证明在以后的 Eclipse 版本中存在问题的遗留工具,因此使用最新版本不是一个简单的选择)

我无法打开 Marketplace,也无法打开安装详细信息(帮助 -> 关于 Eclipse -> 安装详细信息)。

当尝试以推荐的方式(或根本没有)安装软件并检查已安装的软件时,这显然不方便。

一个经常被引用的修复方法是尝试其他网络设置(窗口 -> 首选项 -> 常规 -> 网络连接),但这没有帮助。

我也没有通过“帮助->安装新软件”安装市场客户端或手动下载来修复它。

提前感谢您的帮助!


更多细节:

这是尝试打开 Marketplace 时的错误日志

Message:
Unhandled event loop exception

Exception Stack Trace:
org.eclipse.e4.core.di.InjectionException: java.lang.NullPointerException
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:68)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:252)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:234)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
    at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:493)
    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:486)
    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:799)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:675)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$7(HandledContributionItem.java:659)
    at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:592)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1327)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
    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:606)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1488)
Caused by: java.lang.NullPointerException
    at org.eclipse.swt.widgets.TabFolder.gtk_switch_page(TabFolder.java:490)
    at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1994)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4723)
    at org.eclipse.swt.internal.gtk.OS._gtk_widget_show(Native Method)
    at org.eclipse.swt.internal.gtk.OS.gtk_widget_show(OS.java:14720)
    at org.eclipse.swt.widgets.TabFolder.createItem(TabFolder.java:274)
    at org.eclipse.swt.widgets.TabItem.createWidget(TabItem.java:123)
    at org.eclipse.swt.widgets.TabItem.<init>(TabItem.java:75)
    at org.eclipse.epp.internal.mpc.ui.wizards.MarketplacePage.createTab(MarketplacePage.java:334)
    at org.eclipse.epp.internal.mpc.ui.wizards.MarketplacePage.createCatalogTab(MarketplacePage.java:328)
    at org.eclipse.epp.internal.mpc.ui.wizards.MarketplacePage.createControl(MarketplacePage.java:156)
    at org.eclipse.jface.wizard.Wizard.createPageControls(Wizard.java:175)
    at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:705)
    at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:597)
    at org.eclipse.jface.window.Window.create(Window.java:430)
    at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1096)
    at org.eclipse.jface.window.Window.open(Window.java:792)
    at org.eclipse.epp.internal.mpc.ui.commands.MarketplaceWizardCommand.execute(MarketplaceWizardCommand.java:191)
    at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:295)
    at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
    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:606)
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
    ... 38 more

Session Data:
eclipse.buildId=4.5.0.I20150603-2000
java.version=1.7.0_80
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.modeling.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.modeling.product

这是我尝试打开安装详细信息时的日志

Message:
Unhandled event loop exception

ExceptionStackTrace:
java.lang.NullPointerException
    at org.eclipse.swt.widgets.TabFolder.gtk_switch_page(TabFolder.java:490)
    at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1994)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4723)
    at org.eclipse.swt.internal.gtk.OS._gtk_widget_show(Native Method)
    at org.eclipse.swt.internal.gtk.OS.gtk_widget_show(OS.java:14720)
    at org.eclipse.swt.widgets.TabFolder.createItem(TabFolder.java:274)
    at org.eclipse.swt.widgets.TabItem.createWidget(TabItem.java:123)
    at org.eclipse.swt.widgets.TabItem.<init>(TabItem.java:75)
    at org.eclipse.ui.internal.about.InstallationDialog.createFolderItems(InstallationDialog.java:221)
    at org.eclipse.ui.internal.about.InstallationDialog.createDialogArea(InstallationDialog.java:200)
    at org.eclipse.jface.dialogs.Dialog.createContents(Dialog.java:768)
    at org.eclipse.ui.internal.about.InstallationDialog.createContents(InstallationDialog.java:236)
    at org.eclipse.jface.window.Window.create(Window.java:430)
    at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1096)
    at org.eclipse.jface.window.Window.open(Window.java:792)
    at org.eclipse.ui.internal.dialogs.AboutDialog$1.run(AboutDialog.java:126)
    at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
    at org.eclipse.ui.internal.dialogs.AboutDialog.buttonPressed(AboutDialog.java:120)
    at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:619)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1327)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
    at org.eclipse.jface.window.Window.runEventLoop(Window.java:827)
    at org.eclipse.jface.window.Window.open(Window.java:803)
    at org.eclipse.ui.internal.about.AboutHandler.execute(AboutHandler.java:33)
    at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:295)
    at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
    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:606)
    at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:252)
    at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:234)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
    at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
    at org.eclipse.core.commands.Command.executeWithChecks(Command.java:493)
    at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:486)
    at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
    at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:343)
    at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:160)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
    at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1327)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
    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:606)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1488)

Session Data:
eclipse.buildId=4.5.0.I20150603-2000
java.version=1.7.0_80
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.modeling.product
Command-line arguments:  -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.modeling.product

将“-vmargs -Djava.net.preferIPv4Stack=true”添加到 eclipse.ini (如这里建议的:IPv4Stack和这里IPv4Stack)也没有改变任何东西。

我的 eclipse.ini 看起来像这样:

--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.300.v20150602-1417
-vm
/home/gilbert/Development Software/Java/jdk1.7.0_80/bin
#/home/gilbert/Development Software/Java/jdk1.8.0_144/bin
-product
org.eclipse.epp.package.modeling.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-startup
plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
-vmargs
#-Dosgi.requiredJavaVersion=1.8
-Dosgi.requiredJavaVersion=1.7
-Djava.net.preferIPv4Stack=true
-XX:MaxPermSize=256m
-Xms256m
-Xmx1024m

在尝试将“marketplace.eclipse.org/catalogs/api*”添加到代理绕过设置(如此处建议:ProxyBypass)后,这是我尝试打开市场时遇到的错误:

Cannot open Eclipse Marketplace
Cannot install remote marketplace locations: Cannot resolve host

This is most often caused by a problem with your internet connection. Please check your internet connection and retry.
Cannot complete request to http://marketplace.eclipse.org/catalogs/api/p: Unknown Host: http://marketplace.eclipse.org/catalogs/api/p
Unknown Host: http://marketplace.eclipse.org/catalogs/api/p
marketplace.eclipse.org
Cannot resolve host

This is most often caused by a problem with your internet connection. Please check your internet connection and retry.
marketplace.eclipse.org

并且尝试查看安装详细信息时的错误日志似乎与以前相同。

我的操作系统是 Linux Mint 19.1


我真正想做的是使用ATL 反应式Palladio组件模型转换为 UML 模型和 Java 代码。

我正在使用 Eclipse Mars,因为 Eclipse 2019-03 有更多问题,并且 Eclipse Mars 是 ATL 反应式上次更新时的最新版本,而 java 7 因为 Eclipse Mars 拒绝使用任何其他版本启动。(正如你在我的 eclipse.ini 中看到的,

此外,“无法解析导入 org.antlr”,除了 Marketplace 之外,我似乎找不到任何其他方式来安装它,我想检查它是否尚未预装在 Eclipse Mars 建模工具中如果是这样,由于“安装详细信息”问题,我无法检查哪个版本。

标签: eclipsejava-7

解决方案


Eclipse 论坛中有人建议这可能是由于我的操作系统太新造成的。 https://www.eclipse.org/forums/index.php/m/1807853/#msg_1807853

所以我通过使用 Ubuntu 14.04 安装双引导来修复它。


推荐阅读