As far as I can see, the sources of MAT 1.7.0 are based on Eclipse Mars target, however MAT 1.7.0 comes with "Eclipse Oxygen" update site activated by default. I believe it causes issues when installing plugins since MAT fetches incoherent plugin versions.
I'm creating an SQL plugin for MAT, and MAT 1.7.0 installation gets broken if I have Oxygen site activated while installing my plugin.
The set of required bundles is quite small, and I build against Mars target, so that hints the issue is with MAT itself.
org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.NoSuchMethodError: org.eclipse.core.runtime.ListenerList.iterator()Ljava/util/Iterator;)
at org.eclipse.swt.SWT.error(SWT.java:4491)
at org.eclipse.swt.SWT.error(SWT.java:4406)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:138)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4024)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3700)
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:694)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.mat.ui.rcp.Application.start(Application.java:26)
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:669)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
Caused by: java.lang.NoSuchMethodError: org.eclipse.core.runtime.ListenerList.iterator()Ljava/util/Iterator;
at org.eclipse.ui.forms.widgets.AbstractHyperlink.handleEnter(AbstractHyperlink.java:178)
at org.eclipse.ui.forms.widgets.AbstractHyperlink.lambda$3(AbstractHyperlink.java:96)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4230)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1491)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1514)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1495)
at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java:3328)
at org.eclipse.swt.widgets.Canvas.sendFocusEvent(Canvas.java:74)
at org.eclipse.swt.widgets.Display.checkFocus(Display.java:671)
at org.eclipse.swt.widgets.Shell.makeFirstResponder(Shell.java:1273)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5802)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend_bool(Native Method)
at org.eclipse.swt.internal.cocoa.NSWindow.makeFirstResponder(NSWindow.java:198)
at org.eclipse.swt.widgets.Control.forceFocus(Control.java:1445)
at org.eclipse.swt.widgets.Control.forceFocus(Control.java:1425)
at org.eclipse.swt.widgets.Control.setFocus(Control.java:3765)
at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1039)
at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1037)
at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1037)
at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1037)
at org.eclipse.ui.forms.widgets.SharedScrolledComposite.setFocus(SharedScrolledComposite.java:128)
at org.eclipse.mat.ui.snapshot.panes.OverviewPane.setFocus(OverviewPane.java:487)
at org.eclipse.mat.ui.editor.MultiPaneEditor.pageChange(MultiPaneEditor.java:820)
at org.eclipse.mat.ui.snapshot.editor.HeapEditor.pageChange(HeapEditor.java:387)
at org.eclipse.mat.ui.editor.MultiPaneEditor.doAddNewPage(MultiPaneEditor.java:562)
at org.eclipse.mat.ui.editor.MultiPaneEditor.addNewPage(MultiPaneEditor.java:535)
at org.eclipse.mat.ui.editor.MultiPaneEditor.addNewPage(MultiPaneEditor.java:489)
at org.eclipse.mat.ui.snapshot.editor.HeapEditor.createInitialPanes(HeapEditor.java:289)
at org.eclipse.mat.ui.editor.MultiPaneEditor.createPaneArea(MultiPaneEditor.java:345)
at org.eclipse.mat.ui.editor.MultiPaneEditor.access$0(MultiPaneEditor.java:211)
at org.eclipse.mat.ui.editor.MultiPaneEditor$2$1.run(MultiPaneEditor.java:178)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
... 23 more