2017-11-21 1 views
0

은 내가 sonarqube 스캔해야하는 자바 코드베이스를 가지고,하지만 난 스캐너를 실행할 때 내가 얻을 :sonarqube 6.5.0.27846에서 Java 프로젝트를 검색 할 때 byetcode 요구 사항을 비활성화하려면 어떻게합니까?

Please provide compiled classes of your project with sonar.java.binaries property 

나는 수업을하지 않는다; 내가받은 코드는 컴파일되지 않았습니다. 또한 꽤 복잡한 애플리케이션이기 때문에 직접 빌드하는 방법을 알아낼 시간이 없습니다. 사용할 수있는 바이너리없이 분석을 실행할 수있는 방법이 있습니까?

도움/아이디어를 제공해 주셔서 감사합니다!

- 제이슨

은 (또한, 나는, 나는 이것이 버전 6의 새로운 "기능"라고 생각 했어요. 그 분석을위한 클래스 파일을 사용하지 않은 확실히 자바 코드에 작년 sonarqube 5.x의를 실행하고, 하지만 문서는이 버전 4.12 이후되었습니다 말한다

+1

정확히 한 가지 : 마지막 문장에서 4.12는 SonarQube가 아닌 SonarJava (자바 분석기)의 버전입니다. – benzonico

+0

예, 게시 한 후에 이것을 알아 냈습니다. 나는 sonarjava 플러그인을 4.11로 다운 그레이드하고 내 sonarqube 설치와 함께 제공된 것을 대신 사용했다. 그것은 효과가 있었고 바이트 코드 파일에 대한 경고없이 분석을 수행 할 수있었습니다. 비록 이것을 지적 주셔서 감사합니다. –

답변

3

당신은 예를 들어, sonar.java.binaries의 값으로 유효한 디렉토리를 전달할 수 있습니다 (?!) :

mkdir /tmp/empty 
mvn sonar:sonar -Dsonar.java.binaries=/tmp/empty 

이 자바 분석기에 의해 제기 된 문제를 우회 , bu 분석 결과가 완벽하게 정확하지 않을 수 있습니다. 분석기가 바이트 코드 바이너리에 액세스하지 못하는 경우 오탐 (false positive)이 발생하는 것이 일반적입니다.

+0

이것은 내 문제를 해결하는 방법이 아니었지만 (위의 내용을 참조하십시오)하지만 이것은 좋은 생각입니다. –

관련 문제