Tôi có hai gói cụ thể làDisable tất cả các kiểm tra checkstyle cho một gói java cụ thể
com/mydomain/abc/đại biểu/xyz/jaxws/quản lý
và com/mydomain/abc/xyz/jaxws/managed
Tôi yêu cầu checkstyle chỉ được vô hiệu hóa cho gói thứ hai vì chúng chứa các lớp proxy được tạo tự động.
tôi sử dụng một suppression.xml như hình dưới đây
<?xml version="1.0"?>
<!DOCTYPE suppressions PUBLIC
"-//Puppy Crawl//DTD Suppressions 1.1//EN"
"suppressions_1_1.dtd">
<suppressions>
<!-- Suppress JavadocPackage in the test packages -->
<suppress checks="JavadocPackage" files="[\\/]test[\\/]"/>
<!-- Suppress all checkstyle for autogenerated jaxws.managed package -->
<suppress checks="[a-zA-Z0-9]*" files="([^(delegate)])+([a-z]*[\\/]jaxws[\\/]managed[\\/])+"/>
</suppressions>
Xin lưu ý ức chế đầu tiên cho việc vô hiệu hóa JavadocPackage kiểm tra hoạt động tốt nhưng cái thứ hai thì không. Tôi sợ rằng regex của tôi cho việc lựa chọn các gói có thể là sai. Bất kỳ sự giúp đỡ nào cũng được đánh giá cao.
Để nêu yêu cầu của tôi với một ví dụ:
Các tiêu chí lựa chọn là tên gói nên kết thúc ở jaxws.managed
nhưng không nên chứa delegate
trong tên gói. Nhiều hơn delegate
nên đến trước khi jaxws.managed
trong tên gói:
ví dụ: kiểm tra checktyle trong gói com.mycomany.delegate.service.jaxws.managed
phải được cho phép trong khi đó ở com.mycompany.abc.service.jaxws.service
phải tắt và nó là cần lưu ý rằng tôi không biết tất cả các tên pakages trả trước trừ cho mẫu này.
Cảm ơn và chúc Sibi
Hi Oliver, Thankyou để hồi âm. Giải pháp của bạn hoạt động khi biết toàn bộ tên gói. Trong trường hợp của tôi, tiêu chí lựa chọn là tên gói phải kết thúc bằng "jaxws.managed" nhưng không được chứa "delegate" trong tên gói. Thông tin thêm về "ủy quyền" sẽ đến trước "jaxws.managed" trong tên gói: ví dụ: kiểm tra checktyle trong gói "com.mycomany.delegate.service.jaxws.managed" phải được bật trong khi đó trong com.mycompany.abc.service .jaxws.service "phải bị vô hiệu hóa. Cảm ơn bạn đã chỉ ra sự vô nghĩa này trong câu hỏi của tôi. –