안녕하세요, SonarQube 4.1에 대한 사용자 정의 Java 규칙을 구현하는 방법을 찾으려고했습니다.SonarQube Java 플러그인 - 4.1 사용자 정의 규칙 예제
website에서 example plugin on github은 JavaFileScanner를 기반으로 한 ExampleCheck로 발견되었습니다.
그러나 나는 일을하는 데 몇 가지 심각한 문제가 있습니다. 현재 SonarQube 4.1에서 샘플을 얻는 데 도움이 될 수 있으면 좋겠습니다.
컴파일 및 배포는 빌드를 정확하게
ERROR [o.s.s.p.PlatformLifecycleListener] Fail to start server
java.lang.IllegalStateException: Plugin javacustomrules needs a more recent version of SonarQube than 4.1. At least 4.1.1 is expected
4.1에 종속 변경에 대한 시작 SonarQube 불만에 너무 수중 음파 탐지기 - 플러그인-API 4.1.1에 따라 달라로 작동하고 sonarqube 시작을 허용하지 않습니다. 나는 QualityProfile에서 규칙을 선택하고 실행할 수 있습니다
mvn sonar:sonar
을하지만 이것은 다음과 같은 오류로 종료 :
... Caused by: org.sonar.squid.api.AnalysisException: SonarQube is unable to analyze file : 'C:\projects\...MyClass.java' at org.sonar.java.ast.AstScanner.scan(AstScanner.java:102) at org.sonar.java.JavaSquid.scanSources(JavaSquid.java:135) at org.sonar.java.JavaSquid.scan(JavaSquid.java:129) Caused by: java.lang.ClassCastException: org.sonar.java.model.JavaTree$CompilationUnitTreeImpl cannot be cast to org.sonar.java.model.JavaTree$CompilationUnitTreeImpl at org.sonar.samples.java.PrinterVisitor.scan(PrinterVisitor.java:66) at org.sonar.samples.java.PrinterVisitor.print(PrinterVisitor.java:34) at org.sonar.samples.java.ExampleCheck.scanFile(ExampleCheck.java:49) at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:87) at com.sonar.sslr.impl.ast.AstWalker.walkAndVisit(AstWalker.java:67) at org.sonar.java.ast.AstScanner.scan(AstScanner.java:95) ... 62 more
JavaTree.CompilationUnitTreeImpl에서 주조가로 대응하는 코드가, 나에게 좋아 보인다 JavaTree에.
GitHub에서 TestCase의 기록이 없으므로 변경된 사항이 표시되지 않습니다. 아니면 SonarQube 4.1에 심각한 문제가 있습니까? 을 업데이트하는 것이 좋습니다?
안녕하세요 benzonico, 빠른 수정에 대해 감사드립니다. 내가 얻지 못한 것은 2.0 버전 (업데이트 센터를 통해 업데이트 됨) 인 소니의 플러그인 버전 이었기 때문에 약간 이상했습니다. 그리고 내가 가진 다른 문제는 플러그인 개발자를위한 문서가 부족하다는 것입니다. 이미 공개 sonarqube 릴리스 (4.2에서도 확인 했음)에서 사용할 수없는 최신 API를 사용하는 기존 규칙 (javadoc없이)의 코드 만 있습니다. 오징어 API를 사용하는 것이 더 안정되고 문서화 될 때까지 기다릴 것입니다. – dag