【发布时间】:2014-06-09 04:30:30
【问题描述】:
我安装了 SonarQube 和 sonar-runner,Web 服务器似乎工作得很好,因为我可以浏览它。我试图让事情尽可能简单,我将“sonar-project.properties”文件放在我项目的源文件夹中并给出 .作为 sonar.sources 路径。这样做之后,控制台输出报告成功,网页列出了我的项目和最后分析日期,但是当我进入“比较”工具查看统计信息时,它显示所有项目为空白,除了显示的问题0号。
我编辑了 sonar-project.properties 文件,为我的项目的源代码提供完整路径(而不是 . 的相对当前目录路径),将反斜杠替换为正斜杠,然后再次从命令行,而工作目录是我的源文件夹的路径。它再次报告成功,当我重新加载网页时,它给出了更新的最后分析日期,但再次没有报告任何问题并且统计数据都是空白的。
我不知道自己做错了什么,Sonar 日志只报告了 Windows 服务的安装和启动,并不表示有任何问题。 StartNTService 脚本启动服务没有错误,但 StartSonar 脚本报告“jvm 1 | WrapperSimpleApp: Encountered an error running main: org.apache.catalina.LifecycleException: Failed to initialize component [StandardServer[-1]]”。我不知道这是否与我将 SonarQube 用作 Windows 服务的方式有关。我几乎使用了所有默认配置,除了我通过取消注释这些行来编辑 sonar-runner.properties 文件:
sonar.host.url=http://localhost:9000
...
sonar.sourceEncoding=UTF-8
如果有人能帮我弄清楚如何让它工作,我将不胜感激。我正在运行 Windows XP Pro x64 SP2 和 Java 1.7.0_51(32 位)。在我第一次尝试时,我确实错误地使用了 64 位服务安装/启动脚本,但是当控制台输出显示它与 JVM 架构不匹配时,我停止并卸载了该服务并安装并启动了 32 位服务。
编辑:我使用的是 Sonarqube 4.2 版和 Sonar-runner 2.3 版。
【问题讨论】:
-
将
.用作sonar.sources绝对可以。您要分析哪种语言?您是否确保拥有 th(is|ese) 语言所需的插件? -
我的程序是用C写的,但是也用到了一些用C++写的第三方源文件。也许我误解了一些事情。我看到提供了一个商业 C/C++ 插件,我想这意味着我将无法免费使用 SonarQube,并且与其捆绑的其他插件也无法运行?