Я обновил свой java-плагин сонара до версии 3.7. Мы используем встроенный плагин jacoco для покрытия кода. Мы используем maven target org.jacoco:jacoco-maven-plugin:prepare-agent и sonar:sonar, чтобы запустить сборку сонара из задания jenkins. Однако после обновления я получаю следующую ошибку:
Caused by: java.lang.IllegalArgumentException: Line must be null or greater than zero (got 0)
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:88)
at org.sonar.api.issue.internal.DefaultIssue.setLine(DefaultIssue.java:251)
at org.sonar.core.issue.DefaultIssueBuilder.build(DefaultIssueBuilder.java:127)
at org.sonar.core.issue.DefaultIssueBuilder.build(DefaultIssueBuilder.java:34)
at org.sonar.java.SonarComponents.addIssue(SonarComponents.java:207)
at org.sonar.java.bytecode.visitor.DefaultBytecodeContext.reportIssue(DefaultBytecodeContext.java:59)
at org.sonar.java.checks.UnusedPrivateMethodCheck.visitMethod(UnusedPrivateMethodCheck.java:74)
at org.sonar.java.bytecode.BytecodeVisitorNotifier.callVisitMethod(BytecodeVisitorNotifier.java:68)
at org.sonar.java.bytecode.BytecodeVisitorNotifier.callVisitMethodAndFieldAndEdge(BytecodeVisitorNotifier.java:49)
at org.sonar.java.bytecode.BytecodeVisitorNotifier.notifyVisitors(BytecodeVisitorNotifier.java:42)
at org.sonar.java.bytecode.BytecodeScanner.notifyBytecodeVisitors(BytecodeScanner.java:80)
... 57 more
Ниже приведены сведения о плагинах, установленных с моим SonarQube версии 5.1.2:
- Ява 3.7
- LDAP 1.3
- Гит 1
- СВН 1
- Кобертура 1.6.3
Мы не используем cobertura. Вместо этого используйте встроенный жакоко, как упоминалось выше.
Мы используем сонар-maven-плагин: 2.7.1.