Impossible de localiser la source XRef à lier

J'ai un grand projet maven qui utilise le plugin pmd pour les contrôles de qualité du code.

Depuis que j'ai commencé à utiliser le plugin pmd je reçois le message d'avertissement suivant:

[WARNING] Unable to locate Source XRef to link to - DISABLED

J'ai googlé et trouvé que je devais implémenter le plugin jxr.

J'ajoute donc ce qui suit à la propriété build dans le pom principal.fichier xml.

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jxr-plugin</artifactId>
    <version>2.3</version>
  </plugin>

Welp ça ne change rien.

Des idées que je dois mettre en œuvre pour résoudre ce message d'avertissement?

Sortie de mvn -version

Apache Maven 3.0.4 (r1232337; 2012-01-17 10:44:56+0200)
Maven home: /usr/share/maven-bin-3.0
Java version: 1.7.0_05, vendor: Oracle Corporation
Java home: /usr/lib64/icedtea7/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "3.5.2-gentoo", arch: "amd64", family: "unix"

Merci!

43
demandé sur Jean-Rémy Revy 2012-08-20 17:03:58

3 réponses

, Vous devez ajouter le maven-jxr-plugin à l'reportingPlugin de la section.

<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jxr-plugin</artifactId>
            <version>2.3</version>
        </plugin>
    </plugins>
</reporting>

Re exécuter et profiter.

BTW, peut-être que vous devrez exécuter une fois l'objectif jxr:jxr pour générer d'abord un fichier qui sera utilisé par pmd.

62
répondu poussma 2013-03-07 12:54:09

Esprit il y a aussi la possibilité de désactiver la fonctionnalité xref en ajoutant

<configuration>
  <linkXRef>false</linkXRef>
</configuration>

Vers le plugin Maven-PMD-plugin. Cela résout l'avertissement sans en faire construire encore plus suite à une déclaration du plugin. Par exemple, si vous exécutez vos builds dans Jenkins, le plugin Jenkins PMD peut s'occuper de relier les Avertissements PMD au code source, il n'est pas nécessaire d'exécuter un autre plugin Maven pour cela.

35
répondu rec 2013-08-22 20:43:37

Vous devez ajouter le plugin maven-jxr et exécuter l'objectif jxr:jxr avant le cycle de vie site si le maven-jxr-plugin est ajouté en tant que plugin comme dans votre cas:
clean jxr:jxr site

, Autrement, vous devez l'ajouter à un rapport si vous voulez qu'il fonctionne avec mvn site. Jetez un oeil à la Documentation D'utilisation JXR : JXR Utilisation

0
répondu M3HD1 2016-09-05 13:24:32