Unable to bind project to SQ due to use of deprecated (and now removed) class

Please provide
Eclipse Version:
Eclipse IDE for Java Developers (includes Incubating components)
Version: 2022-12 (4.26.0)
Build id: 20221201-1913

  • Eclipse IDE for Developers version: 4.26.20221201-1200
  • Operating system: macOS Monterey 12.3
  • SonarLint plugin version: 7.5.0.54140
  • Programming language you’re coding in: Java
  • Is connected mode used:
    • Connected to SonarCloud or SonarQube (and which version): Want to connect to SonarQube but can’t

And a thorough description of the problem / question:

Today I installed the latest version of SonarLint from Eclipse marketplace.
I noticed that nothing happens when I click “Bind this Eclipse project to SonarQube/SonarCloud…”, so I am unable to bind the my projects to a server.

However, the following shows up in the Error Log:

java.lang.NoClassDefFoundError: org/eclipse/jface/databinding/swt/WidgetProperties
at org.sonarlint.eclipse.ui.internal.binding.wizard.connection.ConnectionTypeWizardPage.createControl(ConnectionTypeWizardPage.java:86)
at org.eclipse.jface.wizard.Wizard.createPageControls(Wizard.java:178)
at org.eclipse.jface.wizard.WizardDialog.createPageControls(WizardDialog.java:744)
at org.eclipse.jface.wizard.WizardDialog.createContents(WizardDialog.java:636)
at org.eclipse.jface.window.Window.create(Window.java:431)
at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1094)
at org.eclipse.jface.window.Window.open(Window.java:788)
at org.sonarlint.eclipse.ui.internal.properties.SonarLintProjectPropertyPage$2.widgetSelected(SonarLintProjectPropertyPage.java:120)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4646)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1524)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1547)
at org.eclipse.swt.widgets.Widget.sendSelectionEvent(Widget.java:1597)
at org.eclipse.swt.widgets.Link.textView_clickOnLink_atIndex(Link.java:806)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:6858)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:236)
at org.eclipse.swt.widgets.Widget.mouseDownSuper(Widget.java:1147)
at org.eclipse.swt.widgets.Widget.mouseDown(Widget.java:1139)
at org.eclipse.swt.widgets.Control.mouseDown(Control.java:2625)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:6320)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:236)
at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:2264)
at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2511)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:6444)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:5692)
at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5831)
at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:117)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3986)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:823)
at org.eclipse.jface.window.Window.open(Window.java:799)
at org.eclipse.ui.dialogs.PropertyDialogAction.run(PropertyDialogAction.java:155)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:474)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:580)
at org.eclipse.jface.action.ActionContributionItem.lambda$4(ActionContributionItem.java:414)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4646)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1524)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1547)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1532)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1325)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4413)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3989)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1155)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:643)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:550)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:171)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:152)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:136)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:402)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:659)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:596)
at org.eclipse.equinox.launcher.Main.run(Main.java:1467)
Caused by: java.lang.ClassNotFoundException: org.eclipse.jface.databinding.swt.WidgetProperties cannot be found by org.sonarlint.eclipse.ui_7.5.0.54140
… 68 more

Furthermore, a google search showed that org.eclipse.jface.databinding.swt.WidgetProperties is deprecated. It has likely been removed in the version of Eclipse I have.

See: Help - Eclipse Platform

I’m having exactly the same error, did you find any resolution?

Hi folks,

We noticed (a bit late) that this class has been removed from the Eclipse SDK in 2022-12. We have already fixed the issue, and the release should happen by the end of this week.
In the meantime, you can use this nightly build that should already contain the fix:
https://repox.jfrog.io/repox/sonarsource/org/sonarsource/sonarlint/eclipse/org.sonarlint.eclipse.site/7.6.0.58404/org.sonarlint.eclipse.site-7.6.0.58404.zip

Best,

Same here: it’s not possible to use the SonarLint plugin with eclipse 2022-12. It would be great if a solution could be found quickly.

Thanks Julien_HENRY, your answer arrived me 1 minute too late :slight_smile:
I just installed the nightly build and it works pefect for me!

Best regards

1 Like