title: API incompatibility with SonarQube 5.6 and Java Analyzer 4.0 with Findbugs 3.3 or Cobertura 1.6.3
body: <p>The analyzes of my projects are failing with SonarQube <code>5.6</code>, after updating the <strong>Java Plugin</strong> from version <code>3.14</code> to <code>4.0</code>.</p>
  
  <p>In my SonarQube instance, among other plugins, I currently have the Findbugs plugin (version <code>3.3</code>) and the Cobertura plugin (<code>1.6.3</code>) which require the Java plugin.</p>
  
  <p>Looking at the log, I get the following message:</p>
  
  <pre><code>[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.1-build231:sonar (default-cli) 
      on project MyProject: Execution default-cli of goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.1-build231:sonar failed:
  
      An API incompatibility was encountered while executing org.sonarsource.scanner.maven:sonar-maven-plugin:3.1-build231:sonar: 
  
      java.lang.NoSuchMethodError:
      org.sonar.plugins.java.api.JavaResourceLocator.findResourceByClassName(Ljava/lang/String;)Lorg/sonar/api/resources/Resource;
  
  ...
  
  Caused by: java.lang.NoSuchMethodError: org.sonar.plugins.java.api.JavaResourceLocator.findResourceByClassName(Ljava/lang/String;)Lorg/sonar/api/resources/Resource;
      at org.sonar.plugins.findbugs.FindbugsSensor.analyse(FindbugsSensor.java:108)
      at org.sonar.batch.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:58)
      at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:50)
      at org.sonar.batch.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:83)
      at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:192)
      at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
      at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
      at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:241)
      at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:236)
      at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:226)
      at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
      at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
      at org.sonar.batch.task.ScanTask.execute(ScanTask.java:47)
      at org.sonar.batch.task.TaskContainer.doAfterStart(TaskContainer.java:86)
      at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
      at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
      at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:106)
      at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:119)
      at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:62)
      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.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
      at com.sun.proxy.$Proxy21.execute(Unknown Source)
      at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:240)
      at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
      at org.sonarsource.scanner.maven.bootstrap.ScannerBootstrapper.execute(ScannerBootstrapper.java:78)
      at org.sonarsource.scanner.maven.SonarQubeMojo.execute(SonarQubeMojo.java:112)
      at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
      ... 20 more
  </code></pre>
  
  <p>What should I do to get my analysis not failing? </p>