当前位置: 首页 > 面试题库 >

Sonarqube:以下文件缺少归咎信息

公孙宏远
2023-03-14
问题内容

Missing blame information for the following filesSonarQube在分析过程中收到警告。

[INFO] [22:19:57.714] Sensor SCM Sensor
[INFO] [22:19:57.715] SCM provider for this project is: git
[INFO] [22:19:57.715] 48 files to be analyzed
[INFO] [22:19:58.448] 0/48 files analyzed
[WARN] [22:19:58.448] Missing blame information for the following files:
(snip 48 lines)
[WARN] [22:19:58.449] This may lead to missing/broken features in SonarQube
[INFO] [22:19:58.449] Sensor SCM Sensor (done) | time=735ms

我正在使用SonarQube 5.5,分析是由Maven在Jenkins作业中的一个多模块Java项目上完成的。安装了Git插件1.2。

在任何有问题的文件上的bash shell中手动运行git blame,都可以得到预期的输出。

我发现的所有相关问题都与SVN有关,而我的问题与Git有关。

我如何在Sonarqube上获得git blame信息?


问题答案:

原因是JGit错误。JGit不支持.gitattributes。我有ident我的.gitattributes。平原控制台git签出的来源,适用ident$Id$宏,但随后JGit忽略了,看到没被提交的,那里居然没有一个差异。

SonarQube邮件列表上的友好人员帮助了我,并建议使用独立的JGit命令行分发进行调试:

chmod +x /where/is/org.eclipse.jgit.pgm-<version>-r.sh
/where/is/org.eclipse.jgit.pgm-<version>-r.sh blame -w /path/to/offending/file

这个特定的JGit错误5年没有解决,我也不希望很快解决,因此我$Id$从所有来源中删除了这些宏。

这是我用来删除所有$Id$宏的(Bash)代码:

find */src -name "*.java" | xargs -n 1 sed -i '/$Id.*$/d'
find */src -name "*.java" | xargs git add
git commit -m "Remove $Id$ macros"
git push


 类似资料:
  • 问题内容: 在从openni编译演示时,我偶然发现了此错误: 我在Mac上执行此操作。我最好的猜测是该文件不在我的java.library.path中 我现在的问题是:这个猜测正确吗,以及如何在netbeans中添加到java.library.path中。 提前Thx 问题答案: 将此添加到projects属性的VM选项中:-Djava.library.path = / Users / olivi

  • Firebase缺少dSYM文件 我按照指令上传dSYM文件/path/to/pods/directory/firebaseCrashlytics/upload-symbols-gsp/path/to/googleService-info.plist-p ios/path/to/dsyms

  • 问题内容: 嗨,我是Android编程的新手,我想问的问题可能很简单,但是我对如何使其工作一无所知,请多多包涵。 我从Android开发人员网站安装了android-sdk和相关工具。我按照他们的指示创建了HelloWorld应用,但出现了一些我不理解的错误。 文件MainActivity.java是一个自动生成的文件,在以下位置,我不断出现此文件错误: 因此,我尝试浏览生成的class文件中的l

  • 我想在我的项目的POM中引用一个jar(即vim25.jar,VMWare VSphere server management)。由于MavenRepository中没有引用此文件,我执行以下步骤: null mvn安装:install-file-dfile=./vim25.jar-dgroupid=manuallyinstalledjars-dartifactid=vim25-dversion=

  • 我们已经从kubernetes Centos集群上的windows服务器上安装了一个smb共享,作为使用这个插件的PVhttps://github.com/juliohm1978/kubernetes-cifs-volumedriver,这基本上只是一个使用的脚本mount.cifs.我们还尝试了微软插件和<-PLHD--2/>,但是他们使用mount.cifs.做同样的事情 挂载对于小型项目来说

  • 我正在尝试在linux Redhat上安装sonarqube的更新版本。已经传输了配置和属性文件的详细信息,那么当我执行sonar.sh start时,我会得到一个错误: “找不到以下任何二进制文件:/opt/sonar...../opt/sonarq/sonarqube-5.6.6/bin/linux-x86-64/./wrapper(找到但不可执行)。” 我想知道是否有人碰到过这个问题,并且知