use*_*789 6 java checkstyle maven
我在我的pom.xml中设置了checkstyle检查,如下所示
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.10</version>
<configuration>
<suppressionsLocation>
checkstyle-suppressions.xml
</suppressionsLocation>
<suppressionsFileExpression>
checkstyle-suppressions.xml
</suppressionsFileExpression>
</configuration>
</plugin>
</plugins>
</reporting>
Run Code Online (Sandbox Code Playgroud)
我的checkstyle-supressions.xml文件包含以下内容
<?xml version="1.0"?>
<!DOCTYPE suppressions PUBLIC
"-//Puppy Crawl//DTD Suppressions 1.0//EN"
"http://www.puppycrawl.com/dtds/suppressions_1_0.dtd">
<suppressions>
<suppress checks="JavadocStyleCheck"
files="**/*.java"
/>
<suppress checks="JavadocTypeCheck"
files="**/*.java"
/>
<suppress checks="JavadocVariableCheck"
files="**/*.java"
/>
<suppress checks="FileTabCharacterCheck"
files="**/*.java"
/>
</suppressions>
Run Code Online (Sandbox Code Playgroud)
我希望当我运行mvn网站时,检查样式插件不报告任何JavaDoc注释或与制表符相关的错误.但这不起作用.我怎样才能实现这一目标?
亲切的问候
CheckStyle :SuppressionFilter告诉我们
抑制 XML 文档包含一组
suppress元素,其中每个suppress元素可以具有以下属性:
- files -与审计事件关联的文件名相匹配的正则表达式。这是强制性的。
- 检查-与审计事件关联的检查名称相匹配的正则表达式。如果指定了 id,则为可选。
- id - 与审计事件关联的检查 ID 相匹配的字符串。如果指定了检查,则可选。
- lines - 以逗号分隔的值列表,其中每个值都是一个整数或由整数-整数表示的整数范围。它是可选的。
- columns - 以逗号分隔的值列表,其中每个值都是一个整数或由整数-整数表示的整数范围。它是可选的。
由于files是 a ,因此您可以在Java 正则表达式测试页regular expression上在线测试配置。
如果files是**/*.java,当应用时,regular expression结果com.test.My.java是失败:Dangling meta character '*' near index 0 **/*.java ^
然后解决方案是设置filesas .*\.java,应用时regular expression结果com.test.My.java为matches(): yes、lookingAt(): yes、find(): yes和group(0): com.test.My.java。
插件配置应如下:-
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.10</version>
<configuration>
<suppressionsLocation>checkstyle-suppressions.xml</suppressionsLocation>
<suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
checkstyle :checkstyle告诉我们
抑制位置:指定要使用的抑制 XML 文件的位置。
此参数解析为资源、URL,然后是文件。如果成功解析,抑制 XML 的内容将被复制到${project.build.directory}/checkstyle-supressions.xml文件中,然后传递到 Checkstyle 进行加载。
抑制文件表达式要在抑制文件的属性中使用的键。默认值为:checkstyle.suppressions.file。
请参阅Maven Checkstyle 插件:使用抑制过滤器以获取更多信息。
我希望这会有所帮助。