sonar-mybatis
sonar-mybatis copied to clipboard
匹配到规则后Background Tasks报错
- sonar 版本:6.7 SQL语句: delete from <table_name> where id = #{id,jdbcType=BIGINT} and 1 = 1
- 初步分析: mybatislint-rules.xml配置了remediationFunction
- 相关错误日志:
Caused by: java.lang.IllegalArgumentException: Rule 'MyBatisLint:MyBatisMapperCheckRule3' can not use 'Constant/issue' remediation function because this rule does not have a fixed remediation cost.
at org.sonar.server.computation.task.projectanalysis.issue.DebtCalculator.verifyEffortToFix(DebtCalculator.java:67)
at org.sonar.server.computation.task.projectanalysis.issue.DebtCalculator.calculate(DebtCalculator.java:46)
at org.sonar.server.computation.task.projectanalysis.issue.IssueLifecycle.initNewOpenIssue(IssueLifecycle.java:71)
at org.sonar.server.computation.task.projectanalysis.issue.IntegrateIssuesVisitor.lambda$fillNewOpenIssues$0(IntegrateIssuesVisitor.java:78)
at java.lang.Iterable.forEach(Unknown Source)
at org.sonar.server.computation.task.projectanalysis.issue.IntegrateIssuesVisitor.fillNewOpenIssues(IntegrateIssuesVisitor.java:77)
at org.sonar.server.computation.task.projectanalysis.issue.IntegrateIssuesVisitor.visitAny(IntegrateIssuesVisitor.java:64)```
可能是版本兼容性问题,你用 1.0.5 这个版本试试看下
问题复现
SonarQube 8.4.2 MyBatis Plugin for SonarQube 1.0.6 SonarXML 2.0.1 (build 2020)
Caused by: java.lang.IllegalArgumentException: Rule 'MyBatisLint:MyBatisMapperCheckRule1' can not use 'Constant/issue' remediation function because this rule does not have a fixed remediation cost.
at org.sonar.ce.task.projectanalysis.issue.DebtCalculator.verifyEffortToFix(DebtCalculator.java:70)
at org.sonar.ce.task.projectanalysis.issue.DebtCalculator.calculate(DebtCalculator.java:49)
at org.sonar.ce.task.projectanalysis.issue.IssueLifecycle.initNewOpenIssue(IssueLifecycle.java:78)
at java.base/java.util.stream.ReferencePipeline$11$1.accept(Unknown Source)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(Unknown Source)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.base/java.util.stream.ReferencePipeline.collect(Unknown Source)
at org.sonar.ce.task.projectanalysis.issue.IntegrateIssuesVisitor.fillNewOpenIssues(IntegrateIssuesVisitor.java:73)
at org.sonar.ce.task.projectanalysis.issue.IntegrateIssuesVisitor.visitAny(IntegrateIssuesVisitor.java:60)
... 48 more