2013-11-21 5 views
5

필자는 EclipseLink (2.5.1) JPA 엔티티의 정적 위빙을 통해 생성되는 코드에서 FindBugs (2.0.2) 및 Sonar (3.7.3)의 오탐이라고 생각합니다. 특히, 내가정적 제직에 의해 생성 된 코드에서 FindBugs가 경고를 생성하지 못하도록하는 방법이 있습니까?

ES_COMPARING_PARAMETER_STRING_WITH_EQ 
Comparison of String parameter using == or != in com.test.domain.MyEntity._persistence_set(String, Object) 

URV_INHERITED_METHOD_WITH_RELATED_TYPES 
Inherited method com.test.domain.MyEntity._persistence_get(String) returns more specific type of object than declared 

의 여러 발생을보고하고하는 것은 기관에 분석을 규칙을 사용하지 않도록 전역하거나 제외하지 않고는 EclipseLink에 의해 생성 된 코드에 대한 이러한 경고를 제거하는 방법이 있나요 전적으로? http://docs.codehaus.org/display/SONAR/Narrowing+the+Focus

답변

4

아주 좋은 질문 :

+0

감사합니다. 완벽하게 작동했습니다. Sonar 4에는 콘솔에서 제외/패턴을 관리 할 수있는 옵션이 있지만 이처럼 세분화 된 것은 없습니다. –

0

당신은 제외 살펴 수 있습니다! FindBugs와 관련된 문제는 FindBugs exclusion filters을 사용하여 해결할 수 있습니다. 특히 <Method> 제외를 살펴보십시오. 당신은 엔티티 클래스에 getter 및 setter의 메소드 이름과 일치하는 정규식,

<Method name="~_persistence_[gs]et" /> 

이러한 필터 파일과 같은

는 이클립스 플러그인 및 SonarQube 포함 FindBugs의 모든 형태에서 사용할 수를 지정할 수 있습니다. 예를 들어, SonarQube Ant 작업을 사용하면 FindBugs 제외 파일의 절대 경로로 sonar.findbugs.excludesFilters 속성을 설정할 수 있습니다.