2013-10-07 81 views
7

我有一個聲納運行在localhost:9000本地機器上的實例,我可以去使用控制檯。當我嘗試從一個項目的命令行運行聲納亞軍,我得到一個500錯誤:本地運行聲納運行器故障

Exception in thread "main" org.sonar.runner.RunnerException: org.picocontainer.PicoLifecycleException: PicoLifecycleException: method 'public void org.sonar.batch.bootstrap.DatabaseCompatibility.start()', instance '[email protected], org.sonar.api.utils.HttpDownloader$HttpException: Fail to download [http://localhost:9000/api/server]. Response code: 500 
    at org.sonar.runner.Runner.delegateExecution(Runner.java:288) 
    at org.sonar.runner.Runner.execute(Runner.java:151) 
    at org.sonar.runner.Main.execute(Main.java:84) 
    at org.sonar.runner.Main.main(Main.java:56) 
Caused by: org.picocontainer.PicoLifecycleException: PicoLifecycleException: method 'public void org.sonar.batch.bootstrap.DatabaseCompatibility.start()', instance '[email protected], org.sonar.api.utils.HttpDownloader$HttpException: Fail to download [http://localhost:9000/api/server]. Response code: 500 
    at org.picocontainer.monitors.NullComponentMonitor.lifecycleInvocationFailed(NullComponentMonitor.java:77) 
... 
... 

但是,當我在我的瀏覽器訪問URL,我得到下面的XML響應:

<server> 
<id>20131007131041</id> 
<version>3.4.1</version> 
<status>UP</status> 
</server> 

我不確定該從哪裏出發。有什麼建議?

+0

你確認你的數據庫設置在SONARQUBE_HOME/conf目錄/ sonar.properties和SONARQUBE_RUNNER_HOME/conf目錄/ sonar-runner.properties一樣嗎? –

回答

4

目前的解決方法是在啓動聲納web服務之前,取消設置GEM_PATHGEM_HOME變量:

unset GEM_PATH GEM_HOME 
./sonar.sh console 

這並不一定對聲納亞軍的環境下進行。

問題是由於conflict with Ruby local installation造成的。

+0

你可能會添加如何使用它,而不是簡單地鏈接它。 – SashaZd

+0

鏈接只有答案是典型的皺眉,因爲鏈接會隨着時間的推移而死去。對每個人來說,在這裏包括一些重要部分的摘要是有益的。 –

1

按照聲納亞軍文檔,你需要在你項目的根目錄創建一個sonar-project.properties然後運行命令行sonar-runner

裁判Sonar runner docs

在我的情況下,它與下面的解決方法

工作1:export GEM_HOME=''

2:export GEM_PATH=''

3:重啓聲納網絡服務器

4:在項目路徑運行sonar-runner