Estoy usando Maven
Tengo un módulo principal y algunos otros módulos. Se ven como:

PADRE 
├── pom.xml 
├── ModulA 
| └── pom.xml 
└── ModulB 
├── pom.xml 
└── carpeta 
└── checkstyle.xml 

He intentado reemplazar las reglas con mis propias reglas. Pero ignora mis reglas. He añadido el plug-in para los padres pom.xml

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <version>2.9.1</version>
    <configuration>
        <includeTestSourceDirectory>true</includeTestSourceDirectory>
        <configLocation>
            ${basedir}/../ModulB/folder/checkstyle.xml                  
        </configLocation>
    </configuration>
</plugin>

Donde está el problema?

EDICIÓN:


mvn checkstyle:checkstyle -X

...
    <configuration>
      <cacheFile default-value="${project.build.directory}/checkstyle-cachefile"/>
      <configLocation default-value="config/sun_checks.xml">${checkstyle.config.location}</configLocation>
      <consoleOutput default-value="false"/>
      <enableFilesSummary default-value="true">${checkstyle.enable.files.summary}</enableFilesSummary>
      <enableRSS default-value="true">${checkstyle.enable.rss}</enableRSS>
      <enableRulesSummary default-value="true">${checkstyle.enable.rules.summary}</enableRulesSummary>
      <enableSeveritySummary default-value="true">${checkstyle.enable.severity.summary}</enableSeveritySummary>
      <encoding default-value="${project.build.sourceEncoding}">${encoding}</encoding>
      <excludes>${checkstyle.excludes}</excludes>
      <failsOnError default-value="false"/>
      <format default-value="sun"/>
      <headerFile>${basedir}/LICENSE.txt</headerFile>
      <headerLocation default-value="LICENSE.txt">${checkstyle.header.file}</headerLocation>
      <includeTestSourceDirectory default-value="${false}"/>
      <includes default-value="**/*.java">${checkstyle.includes}</includes>
      <linkXRef default-value="true">${linkXRef}</linkXRef>
      <outputDirectory default-value="${project.reporting.outputDirectory}"/>
      <outputFile default-value="${project.build.directory}/checkstyle-result.xml">${checkstyle.output.file}</outputFile>
      <outputFileFormat default-value="xml">${checkstyle.output.format}</outputFileFormat>
      <project default-value="${project}"/>
      <propertiesLocation>${checkstyle.properties.location}</propertiesLocation>
      <skip default-value="false">${checkstyle.skip}</skip>
      <sourceDirectory default-value="${project.build.sourceDirectory}"/>
      <suppressionsFileExpression default-value="checkstyle.suppressions.file">${checkstyle.suppression.expression}</suppressionsFileExpression>
      <suppressionsLocation>${checkstyle.suppressions.location}</suppressionsLocation>
      <testSourceDirectory default-value="${project.build.testSourceDirectory}"/>
      <xrefLocation default-value="${project.reporting.outputDirectory}/xref"/>
    </configuration>
...
Cuando se hace caso omiso de sus reglas : mvn checkstyle:checktyle o el IDE ? en todos los módulos ?
Sí, en todos los módulos..
No sé cómo escribir la ruta de acceso a checkstyle.xml

OriginalEl autor Kayser | 2012-09-20

2 Comentarios

  1. 12

    Para recoger su configuración personalizada, deberá declarar su archivo como una propiedad:

    <project
      xmlns="http://maven.apache.org/POM/4.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      ...
    
      <properties>
        <checkstyle.config.location><!-- file location --></checkstyle.config.location>
      </properties>
    
      <build>
        ...
    
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>2.9.1</version>
          </plugin>
        </plugins>
      </build>
    
    </project>

    Tomado de mi tutorial sobre cómo crear una personalizada CheckStyle comprobar aquí:

    http://blog.blundellapps.com/create-your-own-checkstyle-check/

    Código fuente aquí:

    https://github.com/blundell/CreateYourOwnCheckStyleCheck

    Estás en lo correcto. El documento oficial en maven.apache.org/plugins/maven-checkstyle-plugin y maven.apache.org/plugins/maven-checkstyle-plugin/examples/… decir que usted necesita para utilizar el configLocation parámetro para configurar esto, pero que no funcionó para mí, mientras que la configuración de la <checkstyle.config.ubicación> propiedad funciona muy bien. Gracias.
    Yo estaba tirando de mi cabello cuando finalmente me di cuenta de que lo que @GlennLawrence es cierto!

    OriginalEl autor Blundell

  2. 4

    ¿Por qué no poner su checkstyle de configuración en un directorio en el proyecto de padres como src/main/resources y parametrizar el plugin en el padre pom.xml como este

    <!-- Checkstyle -->
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>RELEASE</version>
        <configuration>
            <configLocation>src/main/resources/checkstyle.xml</configLocation>                   
        </configuration>
    </plugin>

    Niño proyectos deben tener acceso a esta configuración

    Es la estructura del proyecto. Todos los archivos de configuración están en ModulB
    Ok, así que usted puede probar esta variable ${project.parent.basedir} en lugar de ${basedir}
    He copiado en el directorio src/ en el Módulo principal. No funciona. 🙁
    Si usted mantiene su configuración original y reemplazar sólo ${basedir}/../ModulB/folder/checkstyle.xml por ${project.parent.basedir}/../ModulB/folder/checkstyle.xml.
    He probado. De nuevo sin éxito

    OriginalEl autor yodamad

Dejar respuesta

Please enter your comment!
Please enter your name here