버그를 식별하기 위해 FindBugs
플러그인을 maven
에 사용하고있는 2 개의 프로젝트가 있습니다. 또한 특정 버그를 무시하기 위해 @SuppressFBWarnings
주석을 사용하고 있습니다.maven findbugs suppressFBWarnings annotation을 무시합니다.
첫 번째 프로젝트에서는 pom.xml에 의존성을 추가했으며 findbugs 보고서와 주석은 모두 잘 작동했습니다. 두 번째 프로젝트에서는 보고서가 생성되지만 주석을 사용하지 않는 버그는 여전히 식별됩니다.
빌드 폴더의 내 컴퓨터에서 보고서를 생성하려면 mvn clean install site
을 실행하십시오.
내가 언급 한 두 프로젝트는 각각 하위 디렉토리에 자신의 pom.xml 파일이있는 하위 프로젝트가 있으므로 상위 디렉토리에서 pom.xml도 갖습니다. 이 디렉토리 레이아웃은 두 주요 프로젝트 모두에서 동일하게 미러링됩니다.
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>annotations</artifactId>
<version>2.0.1</version>
</dependency>
이것 : 또한 동일한 부모 POM에서 I는 <dependencyManagement><dependencies>
섹션이 추가
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<xmlOutput>true</xmlOutput>
<findbugsXmlOutput>true</findbugsXmlOutput>
<fork>true</fork>
<threshold>Low</threshold>
<effort>Min</effort>
</configuration>
</plugin>
: 여기
내가<reporting>
태그하에 상위 리딩에 부가 된 XML이고 두 프로젝트 모두에서 동일합니다.
이제
, <dependencies>
에서이 나는 실제로 @SuppressFBWarnings
주석을 사용하고, 해당 특정 하위 프로젝트에, 내가 가지고있는 하위 프로젝트 :
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>annotations</artifactId>
<version>2.0.1</version>
</dependency>
, 이것은 다른 작업에 반영됩니다 계획. 직접 복사하여 붙여 넣었습니다.
하나의 프로젝트가 완벽하게 작동하며 오탐 (false positive)을 성공적으로 억제 할 수 있습니다. 다른 프로젝트는 @SuppressFBWarnings
표식을 완전히 무시하며 수정하지 못하는 것 같습니다.
여기에 누락 된 것이 있습니까?
주석을 찾지 못한 경우 오류가 발생하지 않고 그냥 무시할 것이라고 생각합니까? 발견되지 않았 으면 어떻게 알 수 있습니까?
바라기를 이것은 간단한 수정입니다.
감사합니다.
안녕 오마르, 답장을 보내 주셔서 감사합니다,하지만 난 것을하려고 할 때이 오류가 얻을 :'CVC-복잡한 type.2.4.a을 : 잘못된 내용 요소 '의존성'로 시작 발견 된이처럼 . '{ "http://maven.apache.org/POM/4.0.0":inherited,"http://maven.apache.org/POM/4.0.0" : reportSets} "중 하나가 필요합니다.' – eoinzy
파일에 보이지 않는 문자가있을 수 있습니다. 텍스트 편집기 (notpad ++, instence)로 숨겨진 문자 표시 시도 –
후속 작업을 잊어 버렸습니다. 기본적으로, 나는 SuppressFBWarnings 대신에 정상적인 findbugs'SuppressWarnings'을 사용하여 작동시키고 있습니다. 표준 'SuppressWarnings'주석과 findbugs 주석에 문제가 있다고 생각합니다. 아마도 JAR 문제와 결합되었을 것입니다. – eoinzy