首页 > 解决方案 > Eclipse RCP 应用程序无法在 MacOS 上运行

问题描述

我们有一个在 Windows 上运行的旧 Eclipse RCP 应用程序(Luna Service Release 2 (4.4.2)),需要配置为在 MacOS 上运行

在为 MacOS 添加缺少的插件后,应用程序在尝试以调试模式运行应用程序时返回一堆 NullPointerException(附在下面)。此外,当我们构建目标并尝试从生成的源中打开它时,它会卡在您选择工作区的窗口中,并且您无法单击任何按钮或选择任何内容

设置:Java:1.8.0_301 Eclispe:4.4.2 Luna Service Release 2 MacOS:11.5.2 Big Sur

这是我调试应用程序后的最新堆栈跟踪:

!ENTRY org.eclipse.ui.workbench 4 2 2021-09-09 10:11:02.381
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench".
!STACK 0
java.lang.NullPointerException
    at org.eclipse.swt.widgets.Control.internal_new_GC(Control.java:2134)
    at org.eclipse.swt.graphics.GC.<init>(GC.java:171)
    at org.eclipse.swt.graphics.GC.<init>(GC.java:134)
    at org.eclipse.jface.wizard.ProgressMonitorPart.initialize(ProgressMonitorPart.java:237)
    at org.eclipse.jface.wizard.ProgressMonitorPart.<init>(ProgressMonitorPart.java:140)
    at org.eclipse.jface.wizard.ProgressMonitorPart.<init>(ProgressMonitorPart.java:105)
    at org.eclipse.ui.splash.BasicSplashHandler$AbsolutePositionProgressMonitorPart.<init>(BasicSplashHandler.java:50)
    at org.eclipse.ui.splash.BasicSplashHandler.getBundleProgressMonitor(BasicSplashHandler.java:186)
    at org.eclipse.ui.splash.BasicSplashHandler.getContent(BasicSplashHandler.java:290)
    at org.eclipse.ui.internal.splash.EclipseSplashHandler.init(EclipseSplashHandler.java:102)
    at org.eclipse.ui.internal.Workbench$6.run(Workbench.java:817)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.ui.internal.Workbench.createSplashWrapper(Workbench.java:839)
    at org.eclipse.ui.internal.Workbench.access$5(Workbench.java:753)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:610)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
    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:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

!ENTRY org.eclipse.ui 4 0 2021-09-09 10:11:02.389
!MESSAGE Could not instantiate splash
!STACK 0
java.lang.NullPointerException
    at org.eclipse.swt.widgets.Control.internal_new_GC(Control.java:2134)
    ...

!ENTRY org.eclipse.ui 4 0 2021-09-09 10:11:02.390
!MESSAGE Error occurred during status handling
!STACK 0
java.lang.NullPointerException
    at org.eclipse.ui.internal.statushandlers.StatusHandlerRegistry.<init>(StatusHandlerRegistry.java:72)
    at org.eclipse.ui.internal.statushandlers.StatusHandlerRegistry.getDefault(StatusHandlerRegistry.java:91)
    at org.eclipse.ui.statushandlers.StatusManager.getStatusHandler(StatusManager.java:135)
    at org.eclipse.ui.statushandlers.StatusManager.handle(StatusManager.java:189)
    at org.eclipse.ui.statushandlers.StatusManager.handle(StatusManager.java:231)
    at org.eclipse.ui.statushandlers.StatusManager.handle(StatusManager.java:242)
    at org.eclipse.ui.internal.Workbench$6.handleException(Workbench.java:829)
    at org.eclipse.core.runtime.SafeRunner.handleException(SafeRunner.java:75)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:44)
    at org.eclipse.ui.internal.Workbench.createSplashWrapper(Workbench.java:839)
    at org.eclipse.ui.internal.Workbench.access$5(Workbench.java:753)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:610)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
    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:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
2021-09-09 10:11:03.698 java[3553:504839] *** WARNING: Method userSpaceScaleFactor in class NSView is deprecated on 10.7 and later. It should not be used in new applications. Use convertRectToBacking: instead. 

!ENTRY org.eclipse.ui 4 0 2021-09-09 10:11:05.046
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NullPointerException
    at org.eclipse.swt.widgets.Control.internal_new_GC(Control.java:2134)
    at org.eclipse.swt.graphics.GC.<init>(GC.java:171)
    at org.eclipse.swt.graphics.GC.<init>(GC.java:134)
    at org.eclipse.ui.internal.progress.ProgressManagerUtil.shortenText(ProgressManagerUtil.java:187)
    at org.eclipse.ui.internal.progress.ProgressViewerLabelProvider.getText(ProgressViewerLabelProvider.java:30)
    at org.eclipse.ui.internal.progress.ProgressCanvasViewer$2.paintControl(ProgressCanvasViewer.java:221)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:230)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4199)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1467)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1490)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1475)
    at org.eclipse.swt.widgets.Control.drawWidget(Control.java:1244)
    at org.eclipse.swt.widgets.Canvas.drawWidget(Canvas.java:166)
    at org.eclipse.swt.widgets.Widget.drawRect(Widget.java:749)
    at org.eclipse.swt.widgets.Canvas.drawRect(Canvas.java:161)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:5616)
    at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
    at org.eclipse.swt.widgets.Display.applicationNextEventMatchingMask(Display.java:5000)
    at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5378)
    at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
    at org.eclipse.swt.internal.cocoa.NSApplication.nextEventMatchingMask(NSApplication.java:94)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3663)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)

!ENTRY org.eclipse.ui 4 0 2021-09-09 10:11:05.051
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.NullPointerException)
    at org.eclipse.swt.SWT.error(SWT.java:4441)
    at org.eclipse.swt.SWT.error(SWT.java:4356)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:139)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3994)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3671)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
    at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
    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:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
Caused by: java.lang.NullPointerException
    at org.eclipse.swt.widgets.Control.internal_new_GC(Control.java:2134)
    at org.eclipse.swt.graphics.GC.<init>(GC.java:171)
    at org.eclipse.swt.graphics.GC.<init>(GC.java:134)
    at org.eclipse.swt.custom.CTabFolder.updateTabHeight(CTabFolder.java:3717)
    at org.eclipse.swt.custom.CTabFolder.runUpdate(CTabFolder.java:3752)
    at org.eclipse.swt.custom.CTabFolder$10.run(CTabFolder.java:3741)
    at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
    at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:136)

我在产品文件中使用的插件:

<plugins> 
      <plugin id="com.google.guava"/>
      <plugin id="com.google.inject"/>
      <plugin id="com.ibm.icu"/>
      <plugin id="javax.annotation"/>
      <plugin id="javax.inject"/>
      <plugin id="javax.servlet"/>
      <plugin id="javax.xml"/>
      <plugin id="lpg.runtime.java"/>
      <plugin id="org.antlr.runtime"/>
      <plugin id="org.apache.ant"/>
      <plugin id="org.apache.batik.css"/>
      <plugin id="org.apache.batik.util"/>
      <plugin id="org.apache.batik.util.gui"/>
      <plugin id="org.apache.commons.cli"/>
      <plugin id="org.apache.commons.lang"/>
      <plugin id="org.apache.commons.logging"/>
      <plugin id="org.apache.log4j"/>
      <plugin id="org.apache.lucene.analysis"/>
      <plugin id="org.apache.lucene.core"/>
      <plugin id="org.apache.xerces"/>
      <plugin id="org.apache.xml.resolver"/>
      <plugin id="org.apache.xml.serializer"/>
      <plugin id="org.eclipse.ant.core"/>
      <plugin id="org.eclipse.ant.launching"/>
      <plugin id="org.eclipse.ant.ui"/>
      <plugin id="org.eclipse.compare"/>
      <plugin id="org.eclipse.compare.core"/>
      <plugin id="org.eclipse.compare.win32"/>
      <plugin id="org.eclipse.core.commands"/>
      <plugin id="org.eclipse.core.contenttype"/>
      <plugin id="org.eclipse.core.databinding"/>
      <plugin id="org.eclipse.core.databinding.beans"/>
      <plugin id="org.eclipse.core.databinding.observable"/>
      <plugin id="org.eclipse.core.databinding.property"/>
      <plugin id="org.eclipse.core.expressions"/>
      <plugin id="org.eclipse.core.externaltools"/>
      <plugin id="org.eclipse.core.filebuffers"/>
      <plugin id="org.eclipse.core.filesystem"/>
      <plugin id="org.eclipse.core.filesystem.java7" fragment="true"/>
      <plugin id="org.eclipse.core.filesystem.macosx" fragment="true"/>
      <plugin id="org.eclipse.core.jobs"/>
      <plugin id="org.eclipse.core.net"/>
      <plugin id="org.eclipse.core.resources"/>
      <plugin id="org.eclipse.core.runtime"/>
      <plugin id="org.eclipse.core.runtime.compatibility"/>
      <plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/>
      <plugin id="org.eclipse.core.variables"/>
      <plugin id="org.eclipse.debug.core"/>
      <plugin id="org.eclipse.debug.ui"/>
      <plugin id="org.eclipse.draw2d"/>
      <plugin id="org.eclipse.e4.core.commands"/>
      <plugin id="org.eclipse.e4.core.contexts"/>
      <plugin id="org.eclipse.e4.core.di"/>
      <plugin id="org.eclipse.e4.core.di.extensions"/>
      <plugin id="org.eclipse.e4.core.services"/>
      <plugin id="org.eclipse.e4.ui.bindings"/>
      <plugin id="org.eclipse.e4.ui.css.core"/>
      <plugin id="org.eclipse.e4.ui.css.swt"/>
      <plugin id="org.eclipse.e4.ui.css.swt.theme"/>
      <plugin id="org.eclipse.e4.ui.di"/>
      <plugin id="org.eclipse.e4.ui.model.workbench"/>
      <plugin id="org.eclipse.e4.ui.services"/>
      <plugin id="org.eclipse.e4.ui.widgets"/>
      <plugin id="org.eclipse.e4.ui.workbench"/>
      <plugin id="org.eclipse.e4.ui.workbench.addons.swt"/>
      <plugin id="org.eclipse.e4.ui.workbench.renderers.swt"/>
      <plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa" fragment="true"/>
      <plugin id="org.eclipse.e4.ui.workbench.renderers.swt.cocoa.source"/>
      <plugin id="org.eclipse.e4.ui.workbench.renderers.swt.source"/>
      <plugin id="org.eclipse.e4.ui.workbench.swt"/>
      <plugin id="org.eclipse.e4.ui.workbench3"/>
      <plugin id="org.eclipse.emf"/>
      <plugin id="org.eclipse.emf.codegen"/>
      <plugin id="org.eclipse.emf.codegen.ecore"/>
      <plugin id="org.eclipse.emf.codegen.ecore.ui"/>
      <plugin id="org.eclipse.emf.codegen.ui"/>
      <plugin id="org.eclipse.emf.common"/>
      <plugin id="org.eclipse.emf.common.ui"/>
      <plugin id="org.eclipse.emf.compare"/>
      <plugin id="org.eclipse.emf.compare.edit"/>
      <plugin id="org.eclipse.emf.compare.ide"/>
      <plugin id="org.eclipse.emf.compare.ide.ui"/>
      <plugin id="org.eclipse.emf.compare.rcp"/>
      <plugin id="org.eclipse.emf.compare.rcp.ui"/>
      <plugin id="org.eclipse.emf.ecore"/>
      <plugin id="org.eclipse.emf.ecore.change"/>
      <plugin id="org.eclipse.emf.ecore.change.edit"/>
      <plugin id="org.eclipse.emf.ecore.edit"/>
      <plugin id="org.eclipse.emf.ecore.editor"/>
      <plugin id="org.eclipse.emf.ecore.xmi"/>
      <plugin id="org.eclipse.emf.edit"/>
      <plugin id="org.eclipse.emf.edit.ui"/>
      <plugin id="org.eclipse.emf.mapping.ecore2xml"/>
      <plugin id="org.eclipse.emf.mwe.core"/>
      <plugin id="org.eclipse.emf.mwe.utils"/>
      <plugin id="org.eclipse.emf.mwe2.lib"/>
      <plugin id="org.eclipse.emf.mwe2.runtime"/>
      <plugin id="org.eclipse.emf.query"/>
      <plugin id="org.eclipse.emf.query.ocl"/>
      <plugin id="org.eclipse.emf.search"/>
      <plugin id="org.eclipse.emf.search.common"/>
      <plugin id="org.eclipse.emf.search.ecore"/>
      <plugin id="org.eclipse.emf.search.ui"/>
      <plugin id="org.eclipse.emf.transaction"/>
      <plugin id="org.eclipse.emf.validation"/>
      <plugin id="org.eclipse.emf.validation.ui"/>
      <plugin id="org.eclipse.emf.validation.ui.ide"/>
      <plugin id="org.eclipse.emf.workspace"/>
      <plugin id="org.eclipse.equinox.app"/>
      <plugin id="org.eclipse.equinox.bidi"/>
      <plugin id="org.eclipse.equinox.common"/>
      <plugin id="org.eclipse.equinox.ds"/>
      <plugin id="org.eclipse.equinox.event"/>
      <plugin id="org.eclipse.equinox.frameworkadmin"/>
      <plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
      <plugin id="org.eclipse.equinox.http.jetty"/>
      <plugin id="org.eclipse.equinox.http.servlet"/>
      <plugin id="org.eclipse.equinox.launcher"/>
      <plugin id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" fragment="true"/>
      <plugin id="org.eclipse.equinox.p2.artifact.repository"/>
      <plugin id="org.eclipse.equinox.p2.core"/>
      <plugin id="org.eclipse.equinox.p2.director"/>
      <plugin id="org.eclipse.equinox.p2.director.app"/>
      <plugin id="org.eclipse.equinox.p2.engine"/>
      <plugin id="org.eclipse.equinox.p2.garbagecollector"/>
      <plugin id="org.eclipse.equinox.p2.jarprocessor"/>
      <plugin id="org.eclipse.equinox.p2.metadata"/>
      <plugin id="org.eclipse.equinox.p2.metadata.repository"/>
      <plugin id="org.eclipse.equinox.p2.operations"/>
      <plugin id="org.eclipse.equinox.p2.publisher"/>
      <plugin id="org.eclipse.equinox.p2.publisher.eclipse"/>
      <plugin id="org.eclipse.equinox.p2.repository"/>
      <plugin id="org.eclipse.equinox.p2.repository.tools"/>
      <plugin id="org.eclipse.equinox.p2.touchpoint.eclipse"/>
      <plugin id="org.eclipse.equinox.p2.ui"/>
      <plugin id="org.eclipse.equinox.p2.updatesite"/>
      <plugin id="org.eclipse.equinox.preferences"/>
      <plugin id="org.eclipse.equinox.region" fragment="true"/>
      <plugin id="org.eclipse.equinox.registry"/>
      <plugin id="org.eclipse.equinox.security"/>
      <plugin id="org.eclipse.equinox.security.macosx" fragment="true"/>
      <plugin id="org.eclipse.equinox.security.macosx.source"/>
      <plugin id="org.eclipse.equinox.security.ui"/>
      <plugin id="org.eclipse.equinox.simpleconfigurator"/>
      <plugin id="org.eclipse.equinox.simpleconfigurator.manipulator"/>
      <plugin id="org.eclipse.equinox.transforms.hook" fragment="true"/>
      <plugin id="org.eclipse.equinox.util"/>
      <plugin id="org.eclipse.equinox.weaving.hook" fragment="true"/>
      <plugin id="org.eclipse.help"/>
      <plugin id="org.eclipse.help.base"/>
      <plugin id="org.eclipse.help.ui"/>
      <plugin id="org.eclipse.jdt"/>
      <plugin id="org.eclipse.jdt.annotation"/>
      <plugin id="org.eclipse.jdt.compiler.apt" fragment="true"/>
      <plugin id="org.eclipse.jdt.compiler.tool" fragment="true"/>
      <plugin id="org.eclipse.jdt.core"/>
      <plugin id="org.eclipse.jdt.core.manipulation"/>
      <plugin id="org.eclipse.jdt.debug"/>
      <plugin id="org.eclipse.jdt.debug.ui"/>
      <plugin id="org.eclipse.jdt.junit"/>
      <plugin id="org.eclipse.jdt.junit.core"/>
      <plugin id="org.eclipse.jdt.junit.runtime"/>
      <plugin id="org.eclipse.jdt.launching"/>
      <plugin id="org.eclipse.jdt.launching.macosx"/>
      <plugin id="org.eclipse.jdt.launching.ui.macosx"/>
      <plugin id="org.eclipse.jdt.ui"/>
      <plugin id="org.eclipse.jem.util"/>
      <plugin id="org.eclipse.jetty.continuation"/>
      <plugin id="org.eclipse.jetty.http"/>
      <plugin id="org.eclipse.jetty.io"/>
      <plugin id="org.eclipse.jetty.security"/>
      <plugin id="org.eclipse.jetty.server"/>
      <plugin id="org.eclipse.jetty.servlet"/>
      <plugin id="org.eclipse.jetty.util"/>
      <plugin id="org.eclipse.jface"/>
      <plugin id="org.eclipse.jface.databinding"/>
      <plugin id="org.eclipse.jface.text"/>
      <plugin id="org.eclipse.ltk.core.refactoring"/>
      <plugin id="org.eclipse.ltk.ui.refactoring"/>
      <plugin id="org.eclipse.ocl"/>
      <plugin id="org.eclipse.ocl.common"/>
      <plugin id="org.eclipse.ocl.common.ui"/>
      <plugin id="org.eclipse.ocl.ecore"/>
      <plugin id="org.eclipse.ocl.ecore.edit"/>
      <plugin id="org.eclipse.ocl.edit"/>
      <plugin id="org.eclipse.ocl.examples"/>
      <plugin id="org.eclipse.ocl.examples.codegen"/>
      <plugin id="org.eclipse.ocl.examples.codegen.asm3"/>
      <plugin id="org.eclipse.ocl.examples.codegen.asm5"/>
      <plugin id="org.eclipse.ocl.examples.common"/>
      <plugin id="org.eclipse.ocl.examples.debug"/>
      <plugin id="org.eclipse.ocl.examples.debug.vm"/>
      <plugin id="org.eclipse.ocl.examples.domain"/>
      <plugin id="org.eclipse.ocl.examples.emf.validation.validity"/>
      <plugin id="org.eclipse.ocl.examples.emf.validation.validity.ui"/>
      <plugin id="org.eclipse.ocl.examples.eventmanager"/>
      <plugin id="org.eclipse.ocl.examples.impactanalyzer"/>
      <plugin id="org.eclipse.ocl.examples.impactanalyzer.util"/>
      <plugin id="org.eclipse.ocl.examples.interpreter"/>
      <plugin id="org.eclipse.ocl.examples.library"/>
      <plugin id="org.eclipse.ocl.examples.modelregistry"/>
      <plugin id="org.eclipse.ocl.examples.modelregistry.edit"/>
      <plugin id="org.eclipse.ocl.examples.modelregistry.editor"/>
      <plugin id="org.eclipse.ocl.examples.modelregistry.ui"/>
      <plugin id="org.eclipse.ocl.examples.pivot"/>
      <plugin id="org.eclipse.ocl.examples.ui"/>
      <plugin id="org.eclipse.ocl.examples.xtext.base"/>
      <plugin id="org.eclipse.ocl.examples.xtext.base.ui"/>
      <plugin id="org.eclipse.ocl.examples.xtext.completeocl"/>
      <plugin id="org.eclipse.ocl.examples.xtext.completeocl.ui"/>
      <plugin id="org.eclipse.ocl.examples.xtext.console"/>
      <plugin id="org.eclipse.ocl.examples.xtext.essentialocl"/>
      <plugin id="org.eclipse.ocl.examples.xtext.essentialocl.ui"/>
      <plugin id="org.eclipse.ocl.examples.xtext.markup"/>
      <plugin id="org.eclipse.ocl.examples.xtext.markup.ui"/>
      <plugin id="org.eclipse.ocl.examples.xtext.oclinecore"/>
      <plugin id="org.eclipse.ocl.examples.xtext.oclinecore.ui"/>
      <plugin id="org.eclipse.ocl.examples.xtext.oclstdlib"/>
      <plugin id="org.eclipse.ocl.examples.xtext.oclstdlib.ui"/>
      <plugin id="org.eclipse.ocl.ui"/>
      <plugin id="org.eclipse.ocl.uml"/>
      <plugin id="org.eclipse.ocl.uml.edit"/>
      <plugin id="org.eclipse.ocl.uml.ui"/>
      <plugin id="org.eclipse.osgi"/>
      <plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/>
      <plugin id="org.eclipse.osgi.services"/>
      <plugin id="org.eclipse.osgi.util"/>
      <plugin id="org.eclipse.pde.build"/>
      <plugin id="org.eclipse.pde.core"/>
      <plugin id="org.eclipse.pde.launching"/>
      <plugin id="org.eclipse.pde.ui"/>
      <plugin id="org.eclipse.platform"/>
      <plugin id="org.eclipse.rcp"/>
      <plugin id="org.eclipse.search"/>
      <plugin id="org.eclipse.swt"/>
      <plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/>
      <plugin id="org.eclipse.team.core"/>
      <plugin id="org.eclipse.team.ui"/>
      <plugin id="org.eclipse.text"/>
      <plugin id="org.eclipse.ui"/>
      <plugin id="org.eclipse.ui.cheatsheets"/>
      <plugin id="org.eclipse.ui.cocoa" fragment="true"/>
      <plugin id="org.eclipse.ui.cocoa.source"/>
      <plugin id="org.eclipse.ui.console"/>
      <plugin id="org.eclipse.ui.editors"/>
      <plugin id="org.eclipse.ui.externaltools"/>
      <plugin id="org.eclipse.ui.forms"/>
      <plugin id="org.eclipse.ui.ide"/>
      <plugin id="org.eclipse.ui.ide.application"/>
      <plugin id="org.eclipse.ui.intro"/>
      <plugin id="org.eclipse.ui.navigator"/>
      <plugin id="org.eclipse.ui.navigator.resources"/>
      <plugin id="org.eclipse.ui.net"/>
      <plugin id="org.eclipse.ui.trace"/>
      <plugin id="org.eclipse.ui.views"/>
      <plugin id="org.eclipse.ui.views.log"/>
      <plugin id="org.eclipse.ui.views.properties.tabbed"/>
      <plugin id="org.eclipse.ui.workbench"/>
      <plugin id="org.eclipse.ui.workbench.texteditor"/>
      <plugin id="org.eclipse.uml2.codegen.ecore"/>
      <plugin id="org.eclipse.uml2.common"/>
      <plugin id="org.eclipse.uml2.common.edit"/>
      <plugin id="org.eclipse.uml2.types"/>
      <plugin id="org.eclipse.uml2.uml"/>
      <plugin id="org.eclipse.uml2.uml.edit"/>
      <plugin id="org.eclipse.uml2.uml.profile.standard"/>
      <plugin id="org.eclipse.uml2.uml.resources"/>
      <plugin id="org.eclipse.update.configurator"/>
      <plugin id="org.eclipse.wst.common.core"/>
      <plugin id="org.eclipse.wst.common.emf"/>
      <plugin id="org.eclipse.wst.common.environment"/>
      <plugin id="org.eclipse.wst.common.frameworks"/>
      <plugin id="org.eclipse.wst.common.project.facet.core"/>
      <plugin id="org.eclipse.wst.common.uriresolver"/>
      <plugin id="org.eclipse.wst.sse.core"/>
      <plugin id="org.eclipse.wst.validation"/>
      <plugin id="org.eclipse.wst.xml.core"/>
      <plugin id="org.eclipse.wst.xsd.core"/>
      <plugin id="org.eclipse.xsd"/>
      <plugin id="org.eclipse.xtend"/>
      <plugin id="org.eclipse.xtend.lib"/>
      <plugin id="org.eclipse.xtend.lib.macro"/>
      <plugin id="org.eclipse.xtend.typesystem.emf"/>
      <plugin id="org.eclipse.xtext"/>
      <plugin id="org.eclipse.xtext.builder"/>
      <plugin id="org.eclipse.xtext.common.types"/>
      <plugin id="org.eclipse.xtext.common.types.edit"/>
      <plugin id="org.eclipse.xtext.common.types.ui"/>
      <plugin id="org.eclipse.xtext.ecore"/>
      <plugin id="org.eclipse.xtext.smap"/>
      <plugin id="org.eclipse.xtext.ui"/>
      <plugin id="org.eclipse.xtext.ui.ecore"/>
      <plugin id="org.eclipse.xtext.ui.shared"/>
      <plugin id="org.eclipse.xtext.util"/>
      <plugin id="org.eclipse.xtext.xbase.lib"/>
      <plugin id="org.hamcrest.core"/>
      <plugin id="org.junit"/>
      <plugin id="org.objectweb.asm"/>
      <plugin id="org.sat4j.core"/>
      <plugin id="org.sat4j.pb"/>
      <plugin id="org.slf4j.api"/>
      <plugin id="org.w3c.css.sac"/>
      <plugin id="org.w3c.dom.events"/>
      <plugin id="org.w3c.dom.smil"/>
      <plugin id="org.w3c.dom.svg"/>
   </plugins>

和 target.target 文件:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?><target name="MDESP2018 Target" sequenceNumber="114">
<locations>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.sdk.ide" version="4.4.2.M20150204-1700"/>
<unit id="org.eclipse.equinox.sdk.feature.group" version="3.10.2.v20150204-1316"/>
<unit id="org.eclipse.rcp.feature.group" version="4.4.2.v20150204-1700"/>
<unit id="org.eclipse.releng.tools.feature.group" version="3.5.1.v20140604-1105"/>
<unit id="org.eclipse.platform.sdk" version="4.4.2.M20150204-1700"/>
<unit id="org.eclipse.rcp.source.feature.group" version="4.4.2.v20150204-1700"/>
<repository location="http://download.eclipse.org/eclipse/updates/4.4"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.ocl.examples.feature.group" version="3.4.4.v20150213-2254"/>
<unit id="org.eclipse.emf.compare.ide.ui.feature.group" version="3.0.2.201501201328"/>
<unit id="org.eclipse.emf.diffmerge.sdk.feature.feature.group" version="0.3.0.v20140611-1329"/>
<unit id="org.eclipse.ocl.all.sdk.feature.group" version="5.0.2.v20141027-1335"/>
<unit id="org.eclipse.wst.xml_ui.feature.feature.group" version="3.6.3.v201501292352"/>
<unit id="org.eclipse.emf.query.sdk.feature.group" version="1.8.0.201405281426"/>
<unit id="org.eclipse.emf.validation.sdk.feature.group" version="1.8.0.201405281429"/>
<unit id="org.eclipse.emf.compare.feature.group" version="3.0.2.201501201328"/>
<unit id="org.eclipse.emf.sdk.feature.group" version="2.10.2.v20150123-0452"/>
<unit id="org.eclipse.emf.transaction.sdk.feature.group" version="1.8.0.201405281451"/>
<repository location="http://download.eclipse.org/releases/luna"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.eclipse.emf.search.codegen.feature.group" version="0.7.0.v200806130939"/>
<unit id="org.eclipse.emf.search.ecore.feature.group" version="0.7.0.v200806130939"/>
<unit id="org.eclipse.emf.search.runtime.feature.group" version="0.7.0.v200806130939"/>
<unit id="org.eclipse.emf.search.doc.feature.group" version="0.7.0.v200806130939"/>
<unit id="org.eclipse.emf.search.common.feature.group" version="0.7.0.v200806130939"/>
<unit id="org.eclipse.emf.search.feature.group" version="0.7.0.v200806130939"/>
<unit id="org.eclipse.emf.search.sdk.feature.group" version="0.7.0.v200806130939"/>
<repository location="https://download.eclipse.org/modeling/emft/updates/releases/"/>
</location>
<location includeAllPlatforms="false" includeConfigurePhase="true" includeMode="planner" includeSource="true" type="InstallableUnit">
<unit id="org.junit" version="4.11.0.v201303080030"/>
<unit id="org.apache.log4j" version="1.2.15.v201012070815"/>
<repository location="http://archive.eclipse.org/tools/orbit/downloads/drops/R20140525021250/repository/"/>
</location>
</locations>
</target>

任何帮助将不胜感激。

标签: nullpointerexceptioneclipse-rcpmacos-big-sur

解决方案


这看起来像 Eclipse 错误434393

该错误在 Eclipse 4.5 中被标记为已修复,因此您至少需要迁移到该版本。

然而,旧版本的 Eclipse 在 macOS 11 上存在各种 UI 显示问题,因此如果您要更改版本,您应该迁移到当前的 Eclipse 4.20(即将成为 4.21)


推荐阅读