If you had a previous configuration of Sonar Qube done in Sonar Lint in your IDE(IntelliJ2019.3), there is the off-chance that you might get a java error from the plugin when trying to configure a new server or after selecting the configured one that does not respond anymore, leaving you without any possibility of configuring a different server, because the window for configuring server no longer opens. Uninstalling the plugin will not remove the configured servers. Here are the versions:
Sonar Qube Version 6.7.6 (build 38781)
Sonar Lint v4.0.2.3009
IntelliJ IDEA 2019.3
Error log from IntelliJ:
java.lang.NoClassDefFoundError: org/sonar/api/batch/AbstractCpdMapping
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at org.sonar.classloader.ClassRealm.loadClassFromSelf(ClassRealm.java:125)
at org.sonar.classloader.ParentFirstStrategy.loadClass(ParentFirstStrategy.java:37)
at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:87)
at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:76)
at com.villagechief.sonar.salesforce.SalesForcePlugin.getExtensions(SalesForcePlugin.java:110)
at org.sonar.api.SonarPlugin.define(SonarPlugin.java:51)
at org.sonarsource.sonarlint.core.container.global.ExtensionInstaller.install(ExtensionInstaller.java:62)
at org.sonarsource.sonarlint.core.container.global.GlobalExtensionContainer.doBeforeStart(GlobalExtensionContainer.java:35)
at org.sonarsource.sonarlint.core.container.ComponentContainer.startComponents(ComponentContainer.java:123)
at org.sonarsource.sonarlint.core.container.storage.StorageContainer.doAfterStart(StorageContainer.java:126)
at org.sonarsource.sonarlint.core.container.ComponentContainer.startComponents(ComponentContainer.java:125)
at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.start(ConnectedSonarLintEngineImpl.java:118)
at org.sonarsource.sonarlint.core.ConnectedSonarLintEngineImpl.<init>(ConnectedSonarLintEngineImpl.java:77)
at org.sonarlint.intellij.core.SonarLintEngineFactory.createEngine(SonarLintEngineFactory.java:65)
at org.sonarlint.intellij.core.SonarLintEngineManager.getConnectedEngine(SonarLintEngineManager.java:110)
at org.sonarlint.intellij.core.SonarLintEngineManager.getConnectedEngine(SonarLintEngineManager.java:134)
at org.sonarlint.intellij.core.ProjectBindingManager.getFacade(ProjectBindingManager.java:73)
at org.sonarlint.intellij.core.ProjectBindingManager.getFacade(ProjectBindingManager.java:61)
at org.sonarlint.intellij.trigger.SonarLintSubmitter.filterAndGetByModule(SonarLintSubmitter.java:136)
at org.sonarlint.intellij.trigger.SonarLintSubmitter.submitFiles(SonarLintSubmitter.java:119)
at org.sonarlint.intellij.trigger.SonarLintSubmitter.submitFiles(SonarLintSubmitter.java:113)
at org.sonarlint.intellij.trigger.EditorOpenTrigger.afterStartup(EditorOpenTrigger.java:53)
at com.intellij.ide.startup.impl.StartupManagerImpl.runActivity(StartupManagerImpl.java:360)
at com.intellij.ide.startup.impl.StartupManagerImpl.lambda$queueSmartModeActivity$3(StartupManagerImpl.java:166)
at com.intellij.openapi.project.DumbServiceImpl.lambda$runWhenSmart$0(DumbServiceImpl.java:232)
at com.intellij.ide.startup.impl.StartupManagerImpl.lambda$runWhenProjectIsInitialized$6(StartupManagerImpl.java:392)
at com.intellij.ui.GuiUtils.invokeLaterIfNeeded(GuiUtils.java:377)
at com.intellij.ide.startup.impl.StartupManagerImpl.runWhenProjectIsInitialized(StartupManagerImpl.java:394)
at com.intellij.openapi.project.DumbServiceImpl.runWhenSmart(DumbServiceImpl.java:224)
at com.intellij.ide.startup.impl.StartupManagerImpl.queueSmartModeActivity(StartupManagerImpl.java:166)
at com.intellij.ide.startup.impl.StartupManagerImpl.access$400(StartupManagerImpl.java:48)
at com.intellij.ide.startup.impl.StartupManagerImpl$1.lambda$run$0(StartupManagerImpl.java:196)
at java.util.ArrayList.forEach(ArrayList.java:1257)
at com.intellij.ide.startup.impl.StartupManagerImpl$1.run(StartupManagerImpl.java:196)
at com.intellij.openapi.project.DumbServiceImpl.doRun(DumbServiceImpl.java:380)
at com.intellij.openapi.project.DumbServiceImpl.updateFinished(DumbServiceImpl.java:372)
at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:88)
at com.intellij.openapi.application.TransactionGuardImpl.lambda$pollQueueLater$0(TransactionGuardImpl.java:74)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java:435)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:419)
at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:403)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:734)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:729)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:678)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:373)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.ClassNotFoundException: org.sonar.api.batch.AbstractCpdMapping
at org.sonar.classloader.ParentFirstStrategy.loadClass(ParentFirstStrategy.java:39)
at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:87)
at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:76)
... 67 more
How to reproduce:
I am not sure, but I had previously configured a remote server with a token, the server was still up, but some configurations changed on it or maybe the token was removed. When I tried to configure a new server with a new token I was not able to open the configure servers window anymore.
Workaround:
- uninstall the Sonar Lint plugin
- close the IDE
- remove the “sonarlint” folder from the following path “~/Library/Preferences/IntelliJIdea2019.1/”
- also remove ~Library/Preferences/IntelliJIdea2019.1/options/sonarlint.xml
- not sure if required but I also removed the plugin cache, which is in “~/Library/Caches/IntelliJIdea2019.1/plugins/”
- install the plugin back and configure the new server