27 votes

FindBugs n'affiche pas les bogues trouvés

J'ai utilisé FindBugs avant et je n'ai pas eu de problèmes, cependant cette fois-ci sur Eclipse Helios sur Ubuntu Natty Narval les bugs sont trouvés mais pas montrés.

Voici ce que j'ai essayé :

  • Cliquez avec le bouton droit de la souris sur le projet > Find Bugs > Find Bugs
  • En regardant la progression, j'ai vu que 3 bugs ont été trouvés
  • Dans la vue des problèmes, ils ne sont pas répertoriés

J'ai essayé d'aller à sa propre perspective avec : Open Perspective > Other > FindBugs mais l'explorateur de bugs est vide.

Des idées pour visualiser ces bugs ?

UPDATE : Dans le journal des erreurs d'Eclipse, je vois :

!ENTRY edu.umd.cs.findbugs.plugin.eclipse 2 2 2011-06-18 21:13:24.968
!MESSAGE The following classes needed for FindBugs analysis on project **
     were missing:
!SUBENTRY 1 edu.umd.cs.findbugs.plugin.eclipse 2 0 2011-06-18 21:13:24.969
!MESSAGE org.apache.commons.exec.CommandLine
!SUBENTRY 1 edu.umd.cs.findbugs.plugin.eclipse 2 0 2011-06-18 21:13:24.969
!MESSAGE org.apache.commons.exec.DefaultExecutor
!SUBENTRY 1 edu.umd.cs.findbugs.plugin.eclipse 2 0 2011-06-18 21:13:24.969
!MESSAGE org.apache.commons.exec.ExecuteException

UPDATE 2 : Je ne sais pas comment réparer Eclipse, mais j'ai trouvé une solution de contournement. J'ai ajouté le rapport findbugs au pom.xml de maven

<reporting>
    <plugins>
        [...]
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>2.3.3-SNAPSHOT</version>
            <configuration>
                <xmlOutput>true</xmlOutput>
                <!-- Optional derectory to put findbugs xdoc xml report -->
                <xmlOutputDirectory>target/site</xmlOutputDirectory>
            </configuration>
        </plugin>
    </plugins>
</reporting>

La configuration suivante génère un rapport HTML dans target/site/findbugs.html

42voto

Ray Toal Points 35382

Si des bogues apparaissent dans certains projets mais pas dans d'autres, le problème peut être que les bogues d'un projet ne sont pas assez graves pour apparaître.

J'ai eu le même problème (30 bogues apparaissant dans Open Analysis Results dans Editor) mais aucun dans Problems view ou Find Bugs Explorer. Ce qui suit a fonctionné pour moi :

1. Project -> Properties -> Find Bugs
2. Enable Project Specific Settings
3. Check everything under Report Visible Bug Categories
4. Slide minium rank to report to 20
5. Set minimum confidence to Low
6. Rerun FindBugs

3voto

mliebelt Points 9534

Il s'agit peut-être d'un problème de configuration de votre vue des problèmes. Effectuez les étapes suivantes pour vous assurer que les résultats de findbugs sont affichés dans la vue des problèmes :

  1. Sélectionnez la vue des problèmes (aucun avertissement ou erreur de findbugs n'est affiché).
  2. Sélectionnez dans le menu déroulant de la vue des problèmes (bouton Caret down) l'entrée de menu "Configurer le contenu...".
  3. Sélectionnez dans la vue de gauche par exemple "Erreurs/Avertissements sur le projet".
  4. Assurez-vous qu'à droite, dans la liste des types, tous les types Findbugs sont sélectionnés.
  5. Terminez la configuration de la vue.

Maintenant la vue des problèmes devrait vous montrer les 3 résultats d'avant.

Vous pouvez également utiliser la perspective Findbugs pour obtenir une vision plus approfondie des problèmes trouvés.

J'ai trouvé une entrée supplémentaire sur la page Findbugs Eclipse Plugin : Le plugin Eclipse se charge, mais ne fonctionne pas correctement . Vérifiez également cela.


Lorsque Findbugs essaie d'analyser vos classes (et non : le code source), les classes utilisées par votre code doivent être disponibles. Je ne sais pas pour quels patrons de bogues cela est nécessaire, mais pour certains (analyse de flux), les classes utilisées doivent être accessibles. Donc assurez-vous que les classes utilisées (directement ou indirectement) sont visibles dans le loadpath d'eclipse.

1voto

i84c0re Points 11

Je viens de tomber sur un problème similaire en utilisant maven, eclipse et le plugin m2e-code-quality ( https://github.com/m2e-code-quality/m2e-code-quality ). La solution a été de lister tous les visiteurs qui doivent être exécutés dans une balise visitors dans la configuration du findbugs-maven-plugin. Vous pouvez également définir le maxRank à 20. Lorsque vous omettez les visiteurs à exécuter, le plugin m2e-code-quality génère une configuration du plugin findbugs qui n'exécute AUCUN visiteur. Le pire est que les paramètres de findbugs dans les propriétés du projet montrent quelques visiteurs activés mais ceux-ci ne proviennent pas de la configuration du projet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X