【问题标题】:java.lang.NullPointerException: The property "sonar.cs.ndepend.projectPath" must be set (to an absolute path)java.lang.NullPointerException:必须设置属性“sonar.cs.ndepend.projectPath”(设置为绝对路径)
【发布时间】:2016-12-14 17:37:31
【问题描述】:

就像之前的帖子: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)有三个Key:

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

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

我还尝试在 SonarQube 服务器的管理面板/配置页面下的 NDepend 选项卡中为 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?那么,该值被拾取并使用了吗?

【问题讨论】:

  • 喜欢以前的帖子吗?

标签: sonarqube azure-devops ndepend


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-07
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 2011-08-13
      • 2014-11-12
      • 1970-01-01
      相关资源
      最近更新 更多