AST扫描期间SonarQube 5.6 FileNotFound异常 [英] SonarQube 5.6 FileNotFound exception during AST Scan

查看:270
本文介绍了AST扫描期间SonarQube 5.6 FileNotFound异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在AST扫描过程中,我得到一个FileNotFoundException寻找一个symbols-34.pb文件:

During the AST Scan, I get a FileNotFoundException looking for a symbols-34.pb file:

ERROR: Error during SonarQube Scanner execution
org.sonar.squidbridge.api.AnalysisException: SonarQube is unable to analyze file : '/workingDir/src/main/java/package/JavaFile.java'
    at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:93)
    at org.sonar.java.ast.JavaAstScanner.scan(JavaAstScanner.java:67)
    at org.sonar.java.JavaSquid.scanSources(JavaSquid.java:133)
    at org.sonar.java.JavaSquid.scan(JavaSquid.java:126)
    at org.sonar.plugins.java.JavaSquidSensor.execute(JavaSquidSensor.java:93)
    at org.sonar.batch.sensor.SensorWrapper.analyse(SensorWrapper.java:57)
    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.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.java:83)
    at org.sonar.batch.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:192)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
    at org.sonar.batch.scan.ProjectScanContainer.scan(ProjectScanContainer.java:241)
    at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:236)
    at org.sonar.batch.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.java:234)
    at org.sonar.batch.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.java:226)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
    at org.sonar.batch.task.ScanTask.execute(ScanTask.java:47)
    at org.sonar.batch.task.TaskContainer.doAfterStart(TaskContainer.java:86)
    at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:142)
    at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.java:127)
    at org.sonar.batch.bootstrap.GlobalContainer.executeTask(GlobalContainer.java:106)
    at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.java:119)
    at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:62)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60)
    at com.sun.proxy.$Proxy0.execute(Unknown Source)
    at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:240)
    at org.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.java:151)
    at org.sonarsource.scanner.cli.Main.runAnalysis(Main.java:110)
    at org.sonarsource.scanner.cli.Main.execute(Main.java:72)
    at org.sonarsource.scanner.cli.Main.main(Main.java:60)
Caused by: org.sonar.core.util.ContextException: Unable to write messages | file=/workingDir/.sonar/batch-report/symbols-34.pb
    at org.sonar.core.util.ContextException.of(ContextException.java:125)
    at org.sonar.core.util.Protobuf.writeStream(Protobuf.java:98)
    at org.sonar.scanner.protocol.output.ScannerReportWriter.writeComponentSymbols(ScannerReportWriter.java:109)
    at org.sonar.batch.sensor.DefaultSensorStorage.store(DefaultSensorStorage.java:202)
    at org.sonar.api.batch.sensor.symbol.internal.DefaultSymbolTable.doSave(DefaultSymbolTable.java:146)
    at org.sonar.api.batch.sensor.internal.DefaultStorable.save(DefaultStorable.java:43)
    at org.sonar.java.ast.visitors.SonarSymbolTableVisitor.visitCompilationUnit(SonarSymbolTableVisitor.java:61)
    at org.sonar.java.model.VisitorsBridge.createSonarSymbolTable(VisitorsBridge.java:176)
    at org.sonar.java.model.VisitorsBridge.visitFile(VisitorsBridge.java:112)
    at org.sonar.java.ast.JavaAstScanner.simpleScan(JavaAstScanner.java:84)
    ... 35 more
Caused by: java.io.FileNotFoundException: /workingDir/.sonar/batch-report/symbols-34.pb (No such file or directory)
    at java.io.FileOutputStream.open0(Native Method)
    at java.io.FileOutputStream.open(FileOutputStream.java:270)
    at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
    at org.sonar.core.util.Protobuf.writeStream(Protobuf.java:95)
    ... 43 more

(路径名称已更改为匿名)

(Path names changed for anonymity)

java类非常简单,仅包含几个批注,可能可以针对Java 6进行编译.我在SonarQube 5.6中使用Java插件的4.0版.

The java class is very simple, only containing a couple annotations, could probably compile against Java 6. I am using version 4.0 of the Java plugin in SonarQube 5.6.

有人想过为什么会这样吗?

Any thought to why this would be occurring?

推荐答案

我能够解决此问题.扫描使用SonarQube插件在Jenkins上运行.同时在同一工作空间中触发了第二个作业,这导致工作空间被Jenkins作业清除(已配置为这样做).删除symbols.pb文件,然后出现FileNotFoundException.

I was able to resolve this issue. The scans were running on Jenkins using the SonarQube plugin. A second job was being triggered in the same workspace at the same time, which caused the workspace to be cleared by the Jenkins job (which was configured to do so). The symbols.pb file was deleted, and then the FileNotFoundException occurred.

这篇关于AST扫描期间SonarQube 5.6 FileNotFound异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆