Question

J'ai un projet qui a comme dépendance maven un fichier jar qui comprend un fichier xml où j’ai stocké mes règles pour checkstyle. Je pensais que ce serait correct d'utiliser simplement cette configuration: < configLocation > mycheckstyle.xml < / configLocation > ;. D'après ce que je comprends, le fichier doit être recherché sur le chemin de classe et mon fichier jar est une dépendance Maven, il doit donc être trouvé. Cependant, je reçois une exception de ressource non trouvée. Aucune suggestion? Merci d'avance ..

kuku

Était-ce utile?

La solution

Essayez d’ajouter une section de dépendances à la configuration de votre plugin.

Par exemple,

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <dependencies>
      <dependency>
        <groupId>com.example.whizbang</groupId>
        <artifactId>build-tools</artifactId>
        <version>1.0</version>
      </dependency>
    </dependencies>
  </plugin>

Voir Plugin de contrôle Maven - Configuration de multimodules pour plus d'informations.

Autres conseils

Comme expliqué dans la page du plugin Checkstyle ,

  

configLocation:

     

Spécifie l'emplacement de la configuration XML à utiliser.

     

Les valeurs potentielles sont un chemin de système de fichiers, une URL, ou une ressource de chemin de classe .

Je n'ai jamais fait ça sur mon projet ...

Êtes-vous sûr que le fichier JAR contenant le fichier XML se trouve dans le chemin d'accès aux classes au démarrage du plug-in checkstyle?

Je rencontre un parent qui spécifie le plug-in checkstyle et qui contient dans son dossier de ressources le fichier mycheckstyle.xml approprié. J'utilise le plugin maven assembly pour créer un fichier jar du dossier de ressources de mes parents et le définir comme dépendance de mon enfant. Ainsi, lorsque l'enfant hérite du plugin checkstyle + de sa configuration parent, il devrait pouvoir trouver le fichier mycheckstyle.xml. J'ai suivi les instructions sur la page du plugin checkstyle mais cela n'a pas fonctionné.

Si vous avez un référentiel Maven local pour vos contrôles auto-créés et compilés, veillez à ne pas oublier de définir

<repositories>
    <repository>
        <id>my local repository</id>
        <url>file:${basedir}/.m2artifacts</url>
    </repository>
    <!-- ... -->
</repositories>

mais aussi

<pluginRepositories>
    <pluginRepository>
        <id>my local repository</id>
        <url>file:${basedir}/.m2artifacts</url>
    </pluginRepository>
    <!-- ... -->
</pluginRepositories>

sinon, la dépendance du plug-in va simplement chercher dans le dépôt central de maven mais ne trouvera pas votre fichier JAR local avec vos classes de contrôle

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top