SonarQube de mise à niveau à partir de 6.4 6.5 rompt le scanner

  1. Je suis sur sonarQube6.4 et ont mis à jour 6.5
  2. Sonar-scanner est 3.0.3
  3. Maintenant, après la mise à niveau, le scanner ne parvient pas à tout moment il y a un fichier java dans le chemin de la source. Si je ne scanne pas les fichiers java tout fonctionne bien.
  4. Cependant, Si je la restauration d'une utilisation 6.4 version, tout fonctionne bien, donc, il y a une régression? C'est la trace de la pile, lorsque je lance le scanner de commande avec -X commande. Ainsi est-il un mandat de 6,5 à condition que l'emplacement de tous compilés classé, il est un moyen de l'ignorer.

04:56:21.218 DEBUG: Capteurs : JavaSquidSensor -> SurefireSensor ->
JaCoCoSensor -> SonarJavaXmlFileSensor -> Analyseur "de php.ini" fichiers
-> aucune Couverture Capteur -> DPC Bloc de l'Indexeur 04:56:21.218 INFO: Capteur JavaSquidSensor [java] 04:56:21.558 INFO: Configuré source Java
version (sonar.java.source): aucun 04:56:21.565 INFO: JavaClasspath
initialisation 04:56:21.570 INFO:
------------------------------------------------------------------------ 04:56:21.571 INFO: ÉCHEC DE L'EXÉCUTION DE 04:56:21.571 INFO:
------------------------------------------------------------------------ 04:56:21.571 INFO: temps Total: 6.545 s 04:56:21.707 INFO: la Finale de la Mémoire:
51M/1083M 04:56:21.707 INFO:
------------------------------------------------------------------------ 04:56:21.707 ERREUR: Erreur lors de SonarQube Scanner exécution
org.sonar.squidbridge.l'api.AnalysisException: Veuillez fournir compilé
les classes de votre projet avec sonar.java.les binaires de la propriété
au org.sonar.java.JavaClasspath.init(JavaClasspath.java:59)
au org.sonar.java.AbstractJavaClasspath.getElements(AbstractJavaClasspath.java:281)
au org.sonar.java.SonarComponents.getJavaClasspath(SonarComponents.java:141)
au org.sonar.java.JavaSquid.(JavaSquid.java:83)
au org.sonar.les plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:83)
au org.sonar.scanner.le capteur.SensorWrapper.analyser(SensorWrapper.java:53)
au org.sonar.scanner.les phases.SensorsExecutor.executeSensor(SensorsExecutor.java:88)
au org.sonar.scanner.les phases.SensorsExecutor.execute(SensorsExecutor.java:82)
au org.sonar.scanner.les phases.SensorsExecutor.execute(SensorsExecutor.java:68)
au org.sonar.scanner.les phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:78)
au org.sonar.scanner.la numérisation.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:179)
au org.sonar.de base.la plate-forme.ComponentContainer.startComponents(ComponentContainer.java:144)
au org.sonar.de base.la plate-forme.ComponentContainer.execute(ComponentContainer.java:129)
au org.sonar.scanner.la numérisation.ProjectScanContainer.scan(ProjectScanContainer.java:261)
au org.sonar.scanner.la numérisation.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:256)
au org.sonar.scanner.la numérisation.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:245)
au org.sonar.de base.la plate-forme.ComponentContainer.startComponents(ComponentContainer.java:144)
au org.sonar.de base.la plate-forme.ComponentContainer.execute(ComponentContainer.java:129)
au org.sonar.scanner.de la tâche.ScanTask.execute(ScanTask.java:47)
au org.sonar.scanner.de la tâche.TaskContainer.doAfterStart(TaskContainer.java:84)
au org.sonar.de base.la plate-forme.ComponentContainer.startComponents(ComponentContainer.java:144)
au org.sonar.de base.la plate-forme.ComponentContainer.execute(ComponentContainer.java:129)
au org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:119)
au org.sonar.lot.programme d'amorçage.Lot.executeTask(Lot.java:116)
au org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:63)
au coucher du soleil.de réfléchir.NativeMethodAccessorImpl.invoke0(Native method)
au coucher du soleil.de réfléchir.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
au coucher du soleil.de réfléchir.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
à java.lang.de réfléchir.La méthode.invoke(la Méthode.java:498)
au org.sonarsource.scanner.l'api.interne.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
au com.soleil.proxy.$Proxy0.execute(Source Inconnue)
au org.sonarsource.scanner.l'api.EmbeddedScanner.doExecute(EmbeddedScanner.java:233)
au org.sonarsource.scanner.l'api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
au org.sonarsource.scanner.cli.Principal.runAnalysis(Principale.java:123)
au org.sonarsource.scanner.cli.Principal.execute(Principale.java:77)
au org.sonarsource.scanner.cli.Principal.principale(Main.java:61) 04:56:21.710 DEBUG: Exécution getVersion 04:56:21.711 DEBUG: Exécution
arrêter

Quand je lance la même chose avec 6.4, il fonctionne très bien et le seul avertissement que je vois dans la console :

04:52:42.738 attention: le Bytecode de dépendances n'a pas été fournies pour l'analyse des fichiers source, vous pourriez vous retrouver avec des résultats moins précis. Le Bytecode peut être fournie à l'aide d'un sonar.java.les bibliothèques de la propriété

La version du plugin est important, semble vos deux SonarQube peut exécuter un autre SonarJava version.
D'accord, en 6.4 il est sonar-java-plugin-4.9.0.9858.jar tandis que dans 6.5 il est sonar-java-plugin-4.12.0.11033.jar mais je crois que c'est une régression, où, avec le nouveau plugin pour mandat de fournir l' .classe d'emplacement des fichiers. Je souhaite qu'il y est une option pour le remplacer

OriginalL'auteur Prashant Saddi | 2017-08-20