J'essaie de configurer mon projet Maven pour utiliser google Java style de vérification avec la configuration suivante:
google_checks.xml: https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml
pom.xml
<build>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<executions>
<execution>
<id>checkstyle</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<configLocation>google_checks.xml</configLocation>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.5</version>
</plugin>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.17</version>
<configuration>
<configLocation>google_checks.xml</configLocation>
<failOnViolation>false</failOnViolation>
<enableFilesSummary>false</enableFilesSummary>
</configuration>
</plugin>
</plugins>
</reporting>
Il semble fonctionner mvn checkstyle:check
bien au début. Mais après quelques exécutions je commence à obtenir l'erreur suivante:
[ERROR] Failed to execute goal org.Apache.maven.plugins:maven-checkstyle-plugin:2.17:check
(default-cli) on project PROJECT: Failed during checkstyle configuration: cannot initialize
module TreeWalker - Token "METHOD_REF" was not found in Acceptable tokens list in check
com.puppycrawl.tools.checkstyle.checks.whitespace.SeparatorWrapCheck -> [Help 1]
Qu'est-ce que ça veut dire? Pourquoi cela n'arrive-t-il que quelques fois et comment m'en débarrasser?
Le jeton "METHOD_REF" est introuvable dans la liste des jetons acceptables dans la vérification com.puppycrawl.tools.checkstyle.checks.whitespace.SeparatorWrapCheck
Vous essayez d'utiliser une configuration plus récente avec une ancienne version de Checkstyle.
La configuration à https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml est dans master
qui dépend de la version de l'instantané de checkstyle.
Si vous utilisez la configuration google sans aucune modification, vous devez utiliser celle qui est intégrée dans checkstyle. Voir https://stackoverflow.com/a/35486365/1016482
Sinon, vous pouvez intégrer une version plus récente de checkstyle pour travailler avec maven. Voir https://stackoverflow.com/a/27359107/1016482
J'utilisais la version 3.0.0 (qui est la plus récente en ce moment) du plugin maven-checkstyle et j'ai toujours eu l'erreur. Je l'ai résolu en ajoutant la dépendance suivante au plugin.
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>8.11</version>
</dependency>