web-dev-qa-db-fra.com

SonarQube de 6.4 à 6.5 - télécharger le scanner

  1. Je suis sur sonarQube6.4 et je suis passé à la version 6.5
  2. Sonar-scanner est 3.0.3
  3. Désormais, après la mise à niveau, l'analyseur échoue à chaque fois qu'il y a un fichier Java dans le chemin source. Si je n'analyse pas les fichiers Java, tout fonctionne parfaitement.
  4. Cependant, si j'annule une version d'utilisation 6.4, tout fonctionne bien, y a-t-il une régression? C'est la trace de la pile lorsque j'exécute la commande scanner avec la commande -X. Donc, est-ce un mandat dans la version 6.5 de fournir l’emplacement de toutes les classes compilées, existe-t-il un moyen de l’ignorer?04: 56: 21.218 DEBUG: Capteurs: JavaSquidSensor -> SurefireSensor -> JaCoCoSensor -> SonarJavaXmlFileSensor -> Analyseur pour les fichiers "php.ini" -> Capteur de couverture nulle -> Indexeur de blocs CPD 04: 56: 21.218 INFO: Capteur JavaSquidSensor [Java] 04: 56: 21.558 INFO: Source Java configurée version (sonar.Java.source): aucune 04: 56: 21.565 INFO: JavaClasspath initialisation 04: 56: 21.570 INFO: -------------------------------------------------- ---------------------- 04: 56: 21.571 INFO: ÉCHEC DE L'EXÉCUTION 04: 56: 21.571 INFO: -------------------------------------------------- ---------------------- 04: 56: 21.571 INFO: Temps total: 6.545s 04: 56: 21.707 INFO: Mémoire finale: 51M/1083M 04: 56: 21.707 INFO: -------------------------------------------------- ---------------------- 04: 56: 21.707 ERREUR: Erreur lors de l'exécution du scanner SonarQube org.sonar.squidbridge.api.AnalysisException: Veuillez fournir compilé classes de votre projet avec la propriété sonar.Java.binaries à org.sonar.Java.JavaClasspath.init (JavaClasspath.Java:59) à org.sonar.Java.AbstractJavaClasspath.getElements (AbstractJavaClasspath.Java:281) à org.sonar.Java.SonarComponents.getJavaClasspath (SonarComponents.Java:141) à org.sonar.Java.JavaSquid. (JavaSquid.Java:83) à org.sonar.plugins.Java.JavaSquidSensor.execute (JavaSquidSensor.Java:83) à org.sonar.scanner.sensor.SensorWrapper.analyse (SensorWrapper.Java:53) à org.sonar.scanner.phases.SensorsExecutor.executeSensor (SensorsExecutor.Java:88) à org.sonar.scanner.phases.SensorsExecutor.execute (SensorsExecutor.Java:82) à org.sonar.scanner.phases.SensorsExecutor.execute (SensorsExecutor.Java:68) à org.sonar.scanner.phases.AbstractPhaseExecutor.execute (AbstractPhaseExecutor.Java:78) à org.sonar.scanner.scan.ModuleScanContainer.doAfterStart (ModuleScanContainer.Java:179) à org.sonar.core.platform.ComponentContainer.startComponents (ComponentContainer.Java:144) à org.sonar.core.platform.ComponentContainer.execute (ComponentContainer.Java:129) à org.sonar.scanner.scan.ProjectScanContainer.scan (ProjectScanContainer.Java:261) à org.sonar.scanner.scan.ProjectScanContainer.scanRecursively (ProjectScanContainer.Java:256) à org.sonar.scanner.scan.ProjectScanContainer.doAfterStart (ProjectScanContainer.Java:245) à org.sonar.core.platform.ComponentContainer.startComponents (ComponentContainer.Java:144) à org.sonar.core.platform.ComponentContainer.execute (ComponentContainer.Java:129) à org.sonar.scanner.task.ScanTask.execute (ScanTask.Java:47) à org.sonar.scanner.task.TaskContainer.doAfterStart (TaskContainer.Java:84) à org.sonar.core.platform.ComponentContainer.startComponents (ComponentContainer.Java:144) à org.sonar.core.platform.ComponentContainer.execute (ComponentContainer.Java:129) à org.sonar.scanner.bootstrap.GlobalContainer.executeTask (GlobalContainer.Java:119) à org.sonar.batch.bootstrapper.Batch.executeTask (Batch.Java:116) à org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute (BatchIsolatedLauncher.Java:63) à Sun.reflect.NativeMethodAccessorImpl.invoke0 (Méthode native) à Sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.Java:62) à Sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.Java:43) à Java.lang.reflect.Method.invoke (Method.Java:498) à org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke (IsolatedLauncherProxy.Java:60) sur com.Sun.proxy. $ Proxy0.execute (Source inconnue) à org.sonarsource.scanner.api.EmbeddedScanner.doExecute (EmbeddedScanner.Java:233) à org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis (EmbeddedScanner.Java:151) à org.sonarsource.scanner.cli.Main.runAnalysis (Main.Java:123) à org.sonarsource.scanner.cli.Main.execute (Main.Java:77) à org.sonarsource.scanner.cli.Main.main (Main.Java:61) 04: 56: 21.710 DEBUG: Exécution getVersion 04: 56: 21.711 DEBUG: Exécution Arrêtez.

04: 52: 42.738 WARN: Le bytecode des dépendances n'a pas été fourni pour l'analyse des fichiers source, vous pourriez vous retrouver avec des résultats moins précis. Le bytecode peut être fourni en utilisant la propriété sonar.Java.libraries

04:52:42.738 WARN: Bytecode of dependencies was not provided for analysis of source files, you might end up with less precise results. Bytecode can be provided using sonar.Java.libraries property

8
Prashant Saddi

Erreur lors de l'exécution du scanner SonarQube org.sonar.squidbridge.api.AnalysisException: Veuillez fournir compilé les classes de votre projet avec la propriété sonar.Java.binaries

Depuis SonarJava 4.12, vous devez spécifier la propriété sonar.Java.binaries https://docs.sonarqube.org/display/PLUG/Java+Plugin+and+Bytecode

Exemple :

sonar-scanner -Dsonar.projectKey=fr.demo:my-project -Dsonar.sources=. -Dsonar.Java.binaries=.
14
gujou

Le message d'erreur dit:

Error during SonarQube Scanner execution org.sonar.squidbridge.api.AnalysisException:
Please provide compiled classes of your project with sonar.Java.binaries property

Il semble que le capteur Java nécessite les fichiers .class, en plus des fichiers .Java

Vous pourriez:

  • Ajoutez ces fichiers à l’analyse (vous obtiendrez d’ailleurs des résultats de sonar plus précieux!)
  • Essayez d’ajouter et de supprimer des fichiers pour déterminer le code à l’origine du problème et le signaler comme un bogue Java de Sonar
1
slartidan

Même si je rencontrais le même problème aprèsSonarQubeupgrade vers la dernière version 6.5. Mais après avoir déclasséSonarJavaplugin (de 4.12 à 4.11 ), cela a fonctionné. J'espère que cela vous aidera.

0
Ben.Bean

J'ai eu ce problème aussi et je l'ai corrigé de la manière suivante:

Cette page mentionne une entrée qui était facultative auparavant et qui est devenue obligatoire lors de la dernière mise à jour (4.12). Il indique que l'entrée sonar.Java.binaries dans les paramètres du projet Jenkins doit être définie. Lorsqu'il est défini, même sur un dossier défectueux, il corrigera vos erreurs, ne laissant qu'un avertissement et votre pipeline sera à nouveau exécuté. 

Le paramètre doit être ajouté à Jenkins -> "votre projet" -> Configuration -> Construire -> Exécuter Scanner SonarQube -> Propriétés de l'analyse. Ajoutez cette entrée et pointez-la dans le dossier des fichiers binaires.

0
Adrian vdBoom