如何在maven中配置checkstyle? [英] How can I configure checkstyle in maven?
问题描述
我正在使用Maven
我有一个父模块和一些其他模块。他们看起来像:
I am using Maven
I have a parent module and some other modules. They look like:
PARENT
├── pom.xml
├── ModulA
| └── pom.xml
└── ModulB
├── pom.xml
└── folder
└── checkstyle.xml
我试图用自己的规则替换规则。但它忽略了我的规则。我将插件添加到父pom.xml
I tried to replace the rules with my own rules. But it ignores my rules. I added the plug-in to parent 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>
问题出在哪里?
编辑:
mvn checkstyle:checkstyle -X
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>
...
推荐答案
供选择在您的自定义配置中,您需要将文件声明为属性:
For it to pick up your custom configuration, you need to declare your file as a property:
<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>
从我的教程中获取如何创建自定义CheckStyle检查:
http://blog.blundellapps.com/create-your-own-checkstyle -check /
Taken from my tutorial on how to create a custom CheckStyle check here:
http://blog.blundellapps.com/create-your-own-checkstyle-check/
这里的源代码:
https://github.com/blundell/CreateYourOwnCheckStyleCheck
这篇关于如何在maven中配置checkstyle?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!