2013-07-24 7 views
3

억제 필터를 사용하려하지만 예기치 않은 오류가 발생합니다.eclipse에서 특정 checkstyle 규칙을 어떻게 억제 할 수 있습니까?

다음은 오류 메시지입니다.

"모듈 SuppressionFilter을 초기화 할 수 없습니다 - 'checkstyle-suppressions.xml'에 모듈 SuppressionFilter 재산 '파일'을 설정할 수 없습니다 : checkstyle-suppressions.xml를 찾을 수 없습니다 - 문서 루트 요소"DOCTYPE 루트를 일치해야합니다 "suppressions "기준 치수"."

이 오류를 어떻게 해결할 수 있습니까?

다음은 내가 사용한 구성 파일과 억제 파일 내용입니다. 나는 ===================

을 (창> 환경 설정> checkstyle> 구성> 알려진 모듈 필터> 차단 필터가> 추가) 일식 메뉴를 통해 억제 필터를 구성 ===================

구성 파일은 =================

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd"> 

<module name="Checker"> 
    <property name="severity" value="warning"/> 
    <module name="TreeWalker"> 
     <module name="MagicNumber"> 
      <property name="ignoreNumbers" value="-1, 0, 1"/> 
     </module> 
    </module> 
</module> 

입니다 ==================

억제 필터 파일은 ...

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">   

<suppressions> 
    <suppress checks="MagicNumberCheck" 
       files="Home.java" 
       lines="350-370"/> 
</suppressions> 

답변

5

억제 필터 파일은 1.1 구문을 사용하지만 최신 1.3 구문을 사용한다고 주장합니다. 과 같이 헤더를 교환 :

<!DOCTYPE suppressions PUBLIC "-//Puppy Crawl//DTD Suppressions 1.1//EN" 
    "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd"> 

또한, 구성 파일이 억제 필터를 참조해야합니다. (하지Treewalker에서, 마지막 닫는 태그 앞에 추가)이 같은 모듈 정의 추가 : ${workspace_loc} 변수를 사용하여

<module name="SuppressionFilter"> 
    <property name="file" value="${workspace_loc}/MyProject/suppressions.xml"/> 
</module> 

복사하거나 작업 공간의 이름을 바꿀 때조차 작동하는지 확인합니다.

+0

도움을 주셔서 감사합니다. 구성 및 억제 필터 모두 잘 작동합니다. – 500004dolkong

+0

예!^_____________^ – 500004dolkong

+0

고마워! 다음은 그 공식 문서입니다. http://checkstyle.sourceforge.net/config.html 예제 파일 - http://checkstyle.sourceforge.net/files/suppressions_none.xml –