Tôi đang sử dụng Maven 3 và Checkstyle 2.9.1 trong dự án java của tôi và tôi có một cấu hình checkstyle phổ biến mà chúng ta đang sử dụng trong một số dự án khác nữa. Để tránh sao chép và chỉnh sửa tệp cấu hình đó vào dự án của riêng tôi, tôi sử dụng tệp ngăn chặn để vô hiệu hóa tất cả các kiểm tra trong một số gói (mã được tạo).Cú pháp chính xác để ngăn chặn các quy tắc kiểm tra cụ thể trên các tệp nhất định là gì?
Bây giờ tôi muốn chặn các quy tắc cụ thể trong tất cả các tệp.
Đây là đàn áp tập tin của tôi:
<?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>
Đây là POM của tôi:
...
<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>
tôi sau đó gọi
mvn checkstyle:checkstyle
để tạo ra các báo cáo, nhưng bị đàn áp cảnh báo vẫn còn trong đó.
Tôi đang làm gì sai ở đây?
Vâng, tệp đàn áp được nhận dạng và sử dụng. Nhưng sự đàn áp thực sự không hiệu quả. Tôi đã tìm ra giải pháp, nhưng hôm nay tôi không có mã nguồn. Tôi sẽ cập nhật câu hỏi của tôi vào thứ hai. – cringe
$ {checkstyle.ruleset} và $ {checkstyle.suppressions} điều gì xảy ra trong hai trường hợp này? – user1730789