sonar-runner测试代码的时候,报出文件声明和目录结构不一致的错误

kamully 2011-12-03 01:28:01
用sonar作为代码检查工具检查代码,用android2.2源码作为被测代码,配置sonar-runner需要的sonar-properties文件
配置好了之后,直接运行sonar-runner,结果执行了50多分钟后报出一个包的声明和这个源码的目录结构不匹配,android的源码那么多,有那么多的目录,手动修改是不可能的,我觉得这应该是sonar自己的问题,有没有其他同志以前遇到过类似的问题,有没有好的解决办法?
执行了50多分钟报错了,那叫一个郁闷啊。
打印的错误信息如下:
[ERROR] Squid Error occurs when analysing :/home/kes/froyo/device/sample/apps/upgrade/src/com/example/android/platform/upgrade/Upgrade.java
org.sonar.squid.api.AnalysisException: The source directory does not correspond to the package declaration com.example.android.platform.upgrade
at org.sonar.java.ast.visitor.PackageVisitor.checkPhysicalDirectory(PackageVisitor.java:93) [sonar-squid-java-plugin-2.8.jar:na]
at org.sonar.java.ast.visitor.PackageVisitor.createSourcePackage(PackageVisitor.java:75) [sonar-squid-java-plugin-2.8.jar:na]
at org.sonar.java.ast.visitor.PackageVisitor.visitFile(PackageVisitor.java:50) [sonar-squid-java-plugin-2.8.jar:na]
at org.sonar.java.ast.CheckstyleSquidBridge.beginTree(CheckstyleSquidBridge.java:87) [sonar-squid-java-plugin-2.8.jar:na]
at com.puppycrawl.tools.checkstyle.TreeWalker.notifyBegin(TreeWalker.java:349) [checkstyle-5.1.jar:5.1]
at com.puppycrawl.tools.checkstyle.TreeWalker.walk(TreeWalker.java:324) [checkstyle-5.1.jar:5.1]
at com.puppycrawl.tools.checkstyle.TreeWalker.processFiltered(TreeWalker.java:186) [checkstyle-5.1.jar:5.1]
at com.puppycrawl.tools.checkstyle.api.AbstractFileSetCheck.process(AbstractFileSetCheck.java:73) [checkstyle-5.1.jar:5.1]
at com.puppycrawl.tools.checkstyle.Checker.process(Checker.java:262) [checkstyle-5.1.jar:5.1]
at org.sonar.java.ast.JavaAstScanner.launchCheckstyle(JavaAstScanner.java:129) [sonar-squid-java-plugin-2.8.jar:na]
at org.sonar.java.ast.JavaAstScanner.scanFiles(JavaAstScanner.java:118) [sonar-squid-java-plugin-2.8.jar:na]
at org.sonar.plugins.squid.SquidExecutor.scanSources(SquidExecutor.java:163) [sonar-squid-java-plugin-2.8.jar:na]
at org.sonar.plugins.squid.SquidExecutor.scan(SquidExecutor.java:84) [sonar-squid-java-plugin-2.8.jar:na]
at org.sonar.plugins.squid.SquidSensor.analyzeMainSources(SquidSensor.java:78) [sonar-squid-java-plugin-2.8.jar:na]
at org.sonar.plugins.squid.SquidSensor.analyse(SquidSensor.java:62) [sonar-squid-java-plugin-2.8.jar:na]
at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:58) [sonar-batch-2.8.jar:na]
at org.sonar.batch.phases.Phases.execute(Phases.java:80) [sonar-batch-2.8.jar:na]
at org.sonar.batch.ProjectBatch.execute(ProjectBatch.java:59) [sonar-batch-2.8.jar:na]
at org.sonar.batch.Batch.analyzeModule(Batch.java:164) [sonar-batch-2.8.jar:na]
at org.sonar.batch.Batch.analyzeModules(Batch.java:82) [sonar-batch-2.8.jar:na]
at org.sonar.batch.Batch.execute(Batch.java:62) [sonar-batch-2.8.jar:na]
at org.sonar.runner.Launcher.executeBatch(Launcher.java:60) [sonar-runner.jar:na]
at org.sonar.runner.Launcher.execute(Launcher.java:53) [sonar-runner.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [na:1.5.0_22]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [na:1.5.0_22]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [na:1.5.0_22]
at java.lang.reflect.Method.invoke(Method.java:592) [na:1.5.0_22]
at org.sonar.runner.Main.delegateExecution(Main.java:111) [sonar-runner.jar:na]
at org.sonar.runner.Main.execute(Main.java:67) [sonar-runner.jar:na]
at org.sonar.runner.Main.main(Main.java:48) [sonar-runner.jar:na]
[DEBUG] Throwable occured.
org.sonar.squid.api.AnalysisException: The source directory does not correspond to the package declaration com.example.android.platform.upgrade
at org.sonar.java.ast.visitor.PackageVisitor.checkPhysicalDirectory(PackageVisitor.java:93) [sonar-squid-java-plugin-2.8.jar:na]
at org.sonar.java.ast.visitor.PackageVisitor.createSourcePackage(PackageVisitor.java:75) [sonar-squid-java-plugin-2.8.jar:na]
at org.sonar.java.ast.visitor.PackageVisitor.visitFile(PackageVisitor.java:50) [sonar-squid-java-plugin-2.8.jar:na]
at org.sonar.java.ast.CheckstyleSquidBridge.beginTree(CheckstyleSquidBridge.java:87) [sonar-squid-java-plugin-2.8.jar:na]
at com.puppycrawl.tools.checkstyle.TreeWalker.notifyBegin(TreeWalker.java:349) [checkstyle-5.1.jar:5.1]
at com.puppycrawl.tools.checkstyle.TreeWalker.walk(TreeWalker.java:324) [checkstyle-5.1.jar:5.1]
at com.puppycrawl.tools.checkstyle.TreeWalker.processFiltered(TreeWalker.java:186) [checkstyle-5.1.jar:5.1]
at com.puppycrawl.tools.checkstyle.api.AbstractFileSetCheck.process(AbstractFileSetCheck.java:73) [checkstyle-5.1.jar:5.1]
at com.puppycrawl.tools.checkstyle.Checker.process(Checker.java:262) [checkstyle-5.1.jar:5.1]
at org.sonar.java.ast.JavaAstScanner.launchCheckstyle(JavaAstScanner.java:129) [sonar-squid-java-plugin-2.8.jar:na]
at org.sonar.java.ast.JavaAstScanner.scanFiles(JavaAstScanner.java:118) [sonar-squid-java-plugin-2.8.jar:na]
at org.sonar.plugins.squid.SquidExecutor.scanSources(SquidExecutor.java:163) [sonar-squid-java-plugin-2.8.jar:na]
at org.sonar.plugins.squid.SquidExecutor.scan(SquidExecutor.java:84) [sonar-squid-java-plugin-2.8.jar:na]
at org.sonar.plugins.squid.SquidSensor.analyzeMainSources(SquidSensor.java:78) [sonar-squid-java-plugin-2.8.jar:na]
at org.sonar.plugins.squid.SquidSensor.analyse(SquidSensor.java:62) [sonar-squid-java-plugin-2.8.jar:na]
at org.sonar.batch.phases.SensorsExecutor.execute(SensorsExecutor.java:58) [sonar-batch-2.8.jar:na]
at org.sonar.batch.phases.Phases.execute(Phases.java:80) [sonar-batch-2.8.jar:na]
at org.sonar.batch.ProjectBatch.execute(ProjectBatch.java:59) [sonar-batch-2.8.jar:na]
at org.sonar.batch.Batch.analyzeModule(Batch.java:164) [sonar-batch-2.8.jar:na]
at org.sonar.batch.Batch.analyzeModules(Batch.java:82) [sonar-batch-2.8.jar:na]
at org.sonar.batch.Batch.execute(Batch.java:62) [sonar-batch-2.8.jar:na]
at org.sonar.runner.Launcher.executeBatch(Launcher.java:60) [sonar-runner.jar:na]
at org.sonar.runner.Launcher.execute(Launcher.java:53) [sonar-runner.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [na:1.5.0_22]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [na:1.5.0_22]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [na:1.5.0_22]
at java.lang.reflect.Method.invoke(Method.java:592) [na:1.5.0_22]
at org.sonar.runner.Main.delegateExecution(Main.java:111) [sonar-runner.jar:na]
at org.sonar.runner.Main.execute(Main.java:67) [sonar-runner.jar:na]
at org.sonar.runner.Main.main(Main.java:48) [sonar-runner.jar:na]
[DEBUG] Delete temporary directories
[DEBUG] Delete temporary directory: /tmp/sonar-batch55133849584790762221322733174950707000
...全文
810 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
bugfix2 2014-08-20
  • 打赏
  • 举报
回复
参考:http://scmbob.org/sonar-tips-unable-to-analyze-file.html 修改sonar-project.properties文件中的sonar.sources=src

5,177

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 质量管理/软件测试
功能测试压力测试安全性测试 个人社区 湖南省·长沙市
社区管理员
  • 软件测试
  • 虫无涯
  • 小博测试成长之路
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

欢迎大家加入到软件测试的社区,在这里,希望大家勇于发表自己的看法,欢迎大家分享自己在软件测试工作过程中遇到的问题以及工作经验分享。

1.想转行的小伙伴,遇到问题没有及时回复的,可以私聊小博进行反馈

2.大家对社区有好的建议,都可以在社区发帖进行反馈

推荐大家学习的软件测试入门笔记:软件测试入门学习笔记

试试用AI创作助手写篇文章吧