Pregunta

Tengo un proyecto que tiene como dependencia maven un archivo jar que incluye un archivo xml donde almacené mis reglas para checkstyle. Pensé que estaría bien usar esta configuración: < configLocation > mycheckstyle.xml < / configLocation > ;. Tengo entendido que el archivo debe buscarse en el classpath y mi archivo jar es una dependencia de Maven, por lo que debe encontrarse, sin embargo, obtengo una excepción de recurso no encontrado. ¿Alguna sugerencia? Gracias de antemano ..

kuku

¿Fue útil?

Solución

Intente agregar una sección de dependencias a la configuración de su complemento.

Por ejemplo,

  <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>

Consulte Maven Checkstyle Plugin - Configuración multimódulo para más información.

Otros consejos

Como se explica en la página del complemento Checkstyle ,

  

configLocation:

     

Especifica la ubicación de la configuración XML a utilizar.

     

Los valores potenciales son una ruta del sistema de archivos, una URL, o un recurso classpath .

Nunca hice eso en mi proyecto ...

¿Está seguro de que el JAR que contiene el archivo XML está en la ruta de clase cuando se inicia el complemento checkstyle?

Tengo un padre que especifica el complemento checkstyle y tiene en su carpeta de recursos el mycheckstyle.xml apropiado. Utilizo el complemento de ensamblaje maven para crear un jar de la carpeta de recursos de mis padres y definir ese jar como una dependencia en mi hijo. Entonces, cuando el hijo hereda el complemento checkstyle + su configuración del padre, debería poder encontrar mycheckstyle.xml. He seguido las instrucciones en la página del complemento checkstyle pero no funcionó.

Si tiene un repositorio local de Maven para sus comprobaciones compiladas y creadas por usted mismo, tenga en cuenta que no olvide definir

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

pero también

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

de lo contrario, la dependencia del complemento solo se verá en el repositorio central de Maven, pero no encontrará su archivo JAR local con sus clases de verificación

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top