声纳无法创建JDBC数据源

时间:2014-12-26 01:06:01

标签: ruby json sonarqube sonar-runner

当我尝试从项目的命令行运行sonar-runner时,我收到500错误:

INFO  - Install plugins
INFO  - Install JDBC driver
INFO  - Create JDBC datasource for jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
Total time: 12.320s
Final Memory: 7M/152M
INFO: ------------------------------------------------------------------------
ERROR: Error during Sonar runner execution
ERROR: Unable to execute Sonar
ERROR: Caused by: Fail to download [http://localhost:9000/api/server]. Response code: 500

更新

我认为这是由于我在sonar.log中的本地ruby版本的混乱引起的这个描述:

ERROR web[o.s.s.ui.JRubyFacade]  Fail to render: http://localhost:9000/api/server/index?format=json
undefined method `generate' for #<JSON::Ext::Generator::State:0x10b4e1f2>
/Users/me/.rvm/gems/ruby-1.9.3-p448/gems/json-1.8.1/lib/json/common.rb:223:in `generate'
/Users/me/.rvm/gems/ruby-1.9.3-p448/gems/json-1.8.1/lib/json/common.rb:470:in `JSON'

我该如何解决这个问题?感谢

1 个答案:

答案 0 :(得分:2)

我在SonarQube问题跟踪器(http://jira.sonarsource.com/browse/SONAR-3579)中发现了一个描述相同问题的旧错误,这确实是一个兼容性问题。建议在启动Sonar之前解除设置GEM_PATH和GEM_HOME变量的解决方法。

我将以下两行放入声纳启动脚本中:

unset GEM_PATH
unset GEM_HOME

重新启动声纳服务在SonarQube版本5.1.1和SonarQube Runner 2.4中解决了我的问题。