2015-11-04 46 views
2

Iv'e最近升級到SonarQube 5.2(和Java插件3.7),在分析我的項目時出現以下錯誤。SonarQube Java插件3.7分析錯誤

我已經刪除了類文件名,但它是一個非靜態的私有內部類。

該分析適用於Java插件版本3.5和3.6。它只對3.7失敗

任何人都可以幫忙嗎?我很高興私下分享源代碼/字節碼。

Caused by: org.sonar.squidbridge.api.AnalysisException: Unable to analyze .class file (removed) 
at org.sonar.java.bytecode.BytecodeScanner.notifyBytecodeVisitors(BytecodeScanner.java:82) 
at org.sonar.java.bytecode.BytecodeScanner.scanClasses(BytecodeScanner.java:57) 
at org.sonar.java.bytecode.BytecodeScanner.scan(BytecodeScanner.java:48) 
at org.sonar.java.JavaSquid.scanBytecode(JavaSquid.java:144) 
at org.sonar.java.JavaSquid.scan(JavaSquid.java:124) 
at org.sonar.plugins.java.JavaSquidSensor.analyse(JavaSquidSensor.java:90) 
at org.sonar.batch.phases.SensorsExecutor.executeSensor(SensorsExecutor.java:58) 
at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:50) 
at org.sonar.batch.phases.PhaseExecutor.execute(PhaseExecutor.java:98) 
at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:192) 
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:100) 
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:85) 
at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:258) 
at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:253) 
at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:243) 
at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:100) 
at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:85) 
at org.sonar.batch.bootstrap.GlobalContainer.executeAnalysis(GlobalContainer.java:153) 
at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:110) 
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:76) 
at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:48) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87) 
at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75) 
at java.security.AccessController.doPrivileged(Native Method) 
at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69) 
at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50) 
at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102) 
at org.sonar.runner.api.Runner.execute(Runner.java:100) 
at org.codehaus.mojo.sonar.bootstrap.RunnerBootstraper.execute(RunnerBootstraper.java:135) 
... 29 more 
Caused by: java.lang.IllegalArgumentException: 0 is not a valid line for a file 
at org.sonar.api.internal.google.common.base.Preconditions.checkArgument(Preconditions.java:148) 
at org.sonar.api.batch.fs.internal.DefaultInputFile.checkValid(DefaultInputFile.java:213) 
at org.sonar.api.batch.fs.internal.DefaultInputFile.newPointer(DefaultInputFile.java:208) 
at org.sonar.api.batch.fs.internal.DefaultInputFile.selectLine(DefaultInputFile.java:243) 
at org.sonar.batch.issue.DeprecatedIssueBuilderWrapper.line(DeprecatedIssueBuilderWrapper.java:59) 
at org.sonar.java.SonarComponents.addIssue(SonarComponents.java:196) 
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) 

回答

2

這個迴歸是在sonar-java-plugin 3.7版中引入的,它將在3.8版中得到修復。 相關門票:https://jira.sonarsource.com/browse/SONARJAVA-1360

+0

任何解決方法? – KirkoR

+1

您可以使用sonar.exclusions屬性從分析中排除文件,也可以禁用UnusedPrivateMethod規則,直到發佈3.8。 –

+0

我用前一個3.6替換最新的lib 3.7;只需更換JAR即可。 – KirkoR