2009-01-29 14 views
6

tengo un proyecto que tiene como dependencia de administrador un archivo jar que incluye un archivo xml donde guardé mis reglas para checkstyle. Pensé que estaría bien solo usar esta configuración: <configLocation> mycheckstyle.xml </configLocation >. Según entiendo, el archivo se debe buscar en classpath y mi archivo jar es una dependencia de Maven, por lo que se debe encontrar; sin embargo, recibo una excepción de recurso no encontrado. ¿Alguna sugerencia? Gracias de antemano ..Maven 2 Checkstyle configLocation

kuku

Respuesta

10

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> 

Ver Maven Checkstyle Plugin - Multimodule Configuration para más información.

+0

Esta es la respuesta correcta. –

+1

Esto fue muy útil para nuestro equipo. Una vez que nos dimos cuenta de que esto era posible, creamos un POM simple con un empaque 'jar 'solo para manejar nuestra configuración de estilo de control.Ahora es mucho más fácil de administrar, versión (si es necesario) y compartir entre proyectos. – Allan

0

Como se explica en la Checkstyle plugin page,

configLocation:

especifica la ubicación de la configuración XML para utilizar.

Los valores posibles son una ruta del sistema de archivos, una URL, o un recurso de ruta de clase.

Nunca lo había hecho en mi proyecto ...

¿Estás seguro de que el archivo JAR que contiene el archivo XML está en la ruta de clase cuando el plugin Checkstyle está comenzando?

0

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

+0

Quiere decir que hizo lo que se explica aquí: http://maven.apache.org/plugins/maven-checkstyle-plugin/examples/mu lti-module-config.html? Puedes editar tu publicación inicial y poner algo de información pom.xml en ella ... – romaintaz

+0

No, no exactamente así. No es un módulo múltiple. Es herencia simple de un padre para un niño. El padre tiene el complemento checkstyle dentro de su etiqueta de informe y el niño lo hereda. Agregué los recursos del padre como jar al hijo para tener los archivos de configuración. – kukudas

0

Si usted tiene un repositorio Maven local para sus cheques de creación propia y compilado, tenga en cuenta que no se olvide que define

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

sino también

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

de lo contrario la dependencia plug-in sólo se verá en el repositorio central de Maven, pero no encontrará su archivo JAR local con sus clases de cheque

Cuestiones relacionadas