java.lang.NullPointerException:属性" sonar.cs.ndepend.projectPath"必须设置(到绝对路径)

时间:2016-12-14 17:37:31

标签: sonarqube azure-devops ndepend

与上一篇文章NDepend SonarQube integration generates java.lang.NullPointerException类似,在尝试将NDepend 6.3集成到SonarQube 6.1中时,会生成NullPointerException:

java.lang.NullPointerException: The property "sonar.cs.ndepend.projectPath" must be set (to an absolute path)

在管理页面中,在配置(NDepend Tab)下有三个键:enter image description here

  • NDepend Rules
  • NDepend执行超时
  • NDepend.SonarQube.RuleRunner.exe的路径

我已关注these instructions:但我无法找到如何设置sonar.cs.ndepend.projectPath。当我通过命令提示符执行NDepend.SonarQube.RuleRunner.exe,指定.ndproj路径和报告文件位置时,分析运行完美。但是,通过VSTS中的构建执行的NDepend Sonarqube插件,它会生成错误。

我还尝试在Narpend选项卡中为SonarQube的管理面板/配置页面下的Path to NDepend.SonarQube.RuleRunner.exe文本框指定的绝对路径后添加项目路径和报告文件的参数服务器。就像在命令提示符下运行一样。但是,在通过命令提示符运行时,参数不会被解析。它们只是绝对路径的一部分。

我可以看到这个文件中设置三个键的位置:SonarQubeAnalysisConfig.xml位于我的LFS上: G:\SonarQube\bin\vsts-agent-win7-x64-2.109.1\_work\2\.sonarqube\conf。每次在VSTS中启动构建时都会生成此文件。所以,我无法在那里设置sonar.cs.ndepend.projectPath

所以,我的问题是:我在哪里可以指定sonar.cs.ndepend.projectPath?那么,这个价值被拿起来使用了吗?

2 个答案:

答案 0 :(得分:1)

如果您使用在线VSTS,则无法启动NDepend分析,因为它必须不存在于构建计算机中。但是,如果您将VSTS与onprem实例一起使用,则可以按照我们的doc中所述的说明进行操作,并在" SonarQube Scanner for MSBuild- End Analysis"的参数中指定sonar.cs.ndepend.projectPath。任务。

答案 1 :(得分:0)

使用托管构建时,您需要将NDepend提交到源代码控制或将其作为构建工作流程的一部分下载,将其解压缩并将许可证文件放在旁边。完成后,您可以在构建中使用它。