我在我的java 項目使用的Maven 3和的Checkstyle 2.9.1,我有我們使用在其他幾個項目,以及一個共同CheckStyle的配置。爲避免將配置文件複製並編輯到我自己的項目中,我使用抑制文件來禁用某些程序包(生成的代碼)中的所有檢查。什麼是禁止某些文件的特定checkstyle規則的正確語法?
現在我想壓制所有文件中的特定規則。
這是我的鎮壓文件:
<?xml version="1.0"?>
<!DOCTYPE suppressions PUBLIC "-//Puppy Crawl//DTD Suppressions 1.1//EN" "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd">
<suppressions>
<suppress files="my[\\/]generated[\\/]code[\\/]package" checks="."/>
<suppress files=".*\\.java$" checks="IndentationCheck"/>
<suppress files=".*\\.java$" checks="LineLengthCheck"/>
<suppress files=".*\\.java$" checks="ExplicitInitializationCheck"/>
<suppress files=".*\\.java$" checks="MemberNameCheck"/>
</suppressions>
這是我的POM:
...
<build>
...
<plugins>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<configLocation>${checkstyle.ruleset}</configLocation>
<suppressionsLocation>${checkstyle.suppressions}</suppressionsLocation>
</configuration>
</plugin>
</plugins>
</build>
然後我打電話
mvn checkstyle:checkstyle
來生成報告,但抑制警告仍然存在。
我在這裏做錯了什麼?
那麼,抑制文件被識別和使用。但是實際的抑制不起作用。我找到了解決方案,但今天沒有與我的源代碼。我會在星期一更新我的問題。 – cringe
$ {checkstyle.ruleset}和$ {checkstyle.suppressions}這兩個是什麼? – user1730789