【问题标题】:Running Sonar Code Analysis from Eclipse Instance从 Eclipse 实例运行声纳代码分析
【发布时间】:2015-10-24 02:58:19
【问题描述】:

我们使用 Jenkins 来构建应用程序并通过 maven 在代码上运行声纳分析。

我能够创建本地服务器,并使用 sonar runner 运行 sonarqube 分析。

我能够将我的 eclipse 实例连接到公司的 sonarqube runner,并从 eclipse 的现有分析中获取问题。但是在从 Eclipse 运行“分析”时,它失败了。

它返回, 您必须为“未知”定义以下强制属性:sonar.sources

在查看过程时,我发现临时文件夹中下载了一个临时声纳运行器,并创建了一个 sonar-project.properties 并使用它运行分析。此属性文件中没有定义 sonar.sources。由于此属性文件不在我的控制范围内,如何解决此问题?

【问题讨论】:

  • 只是一个建议:maven 适合你吗?在 Eclipse 中运行良好,可用于运行分析。
  • 如果你能告诉我该怎么做..
  • 好吧,你需要你的项目是一个 maven 项目,为 SonarQube 添加一些东西 (docs.sonarqube.org/display/SONAR/…),然后简单地运行 sonar:sonar 目标。
  • 当然我也会试试这个。但是他们可能不允许改变项目方面。
  • 嗯,maven 是一大步,显然,对于 SonarQube 来说,这将是矫枉过正。另一方面,它本身有很多优势(当然,如果你还没有使用 Gradle)。

标签: java eclipse maven jenkins sonarqube


【解决方案1】:

sonar-project.properties 配置文件必须位于您的 eclispe 项目的根目录中。它应该看起来像这样:

# Required metadata
sonar.projectKey=nutch-key
sonar.projectName=nutch-prj
sonar.projectVersion=1.0
# Path to the parent source code directory.
# Path is relative to the sonar-project.properties file. Replace "\" by "/" on   Windows.
# Since SonarQube 4.2, this property is optional. If not set, SonarQube starts looking for source code
# from the directory containing the sonar-project.properties file.
sonar.sources=src
# Encoding of the source code
sonar.sourceEncoding=UTF-8
# Additional parameters
sonar.my.property=value

【讨论】:

  • 我已经尝试过了。如果我想运行本地服务器声纳分析,我会按照您的建议进行。我的项目已连接到公司 sonarqube,我想对项目进行分析,这将更新服务器和本地结果..
  • 在 Eclipse 中,转到 Window > Preferences > SonarQube > Servers 以设置您公司的声纳。然后右键单击您的项目,配置 -> 与 SonarQube 关联。
  • 我已经完成了所有这些,如果你能阅读我的描述,我在运行分析时遇到问题,它创建临时 sonar-runner 实例和声纳属性文件并尝试运行它,因为没有sonar.sources 存在于该文件中
【解决方案2】:

SQ Eclipse 插件将使用配置的 Eclipse (JDT) 源文件夹并将它们传递给 sonar.sources。检查您是否配置了一些源文件夹(右键单击项目 -> 属性 -> Java 构建路径)。

【讨论】:

  • 是的,源文件夹是在 Java 构建路径中配置的。插件仍然无法将它们传递给 sonar.sources
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-04-03
  • 1970-01-01
  • 2013-01-13
  • 2016-07-05
  • 1970-01-01
  • 2015-12-19
  • 2012-03-08
相关资源
最近更新 更多