【发布时间】:2016-10-26 17:24:46
【问题描述】:
当我执行 sonar-runner 来分析我的项目时,我得到以下堆栈跟踪:
ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
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.sonar.runner.Main.executeTask(Main.java:70)
at org.sonar.runner.Main.execute(Main.java:59)
at org.sonar.runner.Main.main(Main.java:53)
Caused by: java.lang.IllegalStateException: Unable to blame file client/src/main/java/idainfront/ekn/client/util/ClientFileUtil.java
at org.sonar.plugins.scm.git.JGitBlameCommand.blame(JGitBlameCommand.java:128)
at org.sonar.plugins.scm.git.JGitBlameCommand.access$000(JGitBlameCommand.java:45)
at org.sonar.plugins.scm.git.JGitBlameCommand$1.call(JGitBlameCommand.java:113)
at org.sonar.plugins.scm.git.JGitBlameCommand$1.call(JGitBlameCommand.java:110)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at org.eclipse.jgit.blame.BlameGenerator.getSourceStart(BlameGenerator.java:871)
at org.eclipse.jgit.blame.BlameResult.loadFrom(BlameResult.java:338)
at org.eclipse.jgit.blame.BlameResult.computeAll(BlameResult.java:240)
at org.eclipse.jgit.blame.BlameGenerator.computeBlameResult(BlameGenerator.java:451)
at org.eclipse.jgit.api.BlameCommand.call(BlameCommand.java:231)
at org.sonar.plugins.scm.git.JGitBlameCommand.blame(JGitBlameCommand.java:123)
... 7 more
版本:sonar-runner 2.4,sonar 5.1.1
当我排除文件时一切正常:
sonar.exclusions=**/src/main/java/idainfront/ekn/client/util/ClientFileUtil.java
这是一个已知的错误还是有更好的解决方法?
【问题讨论】:
-
你能准确地说出 SonarQube Git 插件的版本吗?
-
我写了一篇关于如何调查此类问题以确定这是否是 JGit 错误的教程。请按照它并用您的发现完成您的问题:docs.sonarqube.org/display/PLUG/…?
-
是的,这是一个 JGit 错误。我试用了最新版本 4.0.1,它也有同样的问题。
-
你能把你本地的 git 工作空间发给我吗(你可以尝试匿名,见git-scm.com/docs/git-fast-export)。请在 SonarQube Google 群组上发帖。谢谢