2014-05-20 53 views
0

我目前更新到SonarQube 4.3和聲納亞軍2.4來分析我的編譯環境(2個服務器 - 一個承載聲納 - 運行聲納亞軍一個)項目 - 拋出:IllegalArgumentException 。SonarQube 4.3 - 分析在不同的機器 - 沒有找到相關

隨着SonarQube 4.2版本和sonar-runner 2.0 anaysis很好,沒有問題,現在升級後,運行sonar-runner的服務器拋出異常(我故意刪除servername;我已經添加了-X調試開關聲納-runner):

07:55:35.190 INFO - Install plugins 
07:55:35.190 DEBUG - Download index of plugins 
07:55:35.190 DEBUG - Download: http://[Server that hosts sonar]/deploy/plugins/index.txt (no proxy) 
INFO: ------------------------------------------------------------------------ 
ERROR: Error during Sonar runner execution 
INFO: EXECUTION FAILURE 
INFO: ------------------------------------------------------------------------ 
Total time: 2.864s 
Final Memory: 3M/77M 
org.sonar.runner.impl.RunnerException: Unable to execute Sonar 
    at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91) 
    at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69) 
    at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50) 
    at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102) 
    at org.sonar.runner.api.Runner.execute(Runner.java:100) 
    at org.sonar.runner.Main.executeTask(Main.java:70) 
    at org.sonar.runner.Main.execute(Main.java:59) 
    at org.sonar.runner.Main.main(Main.java:53) 
Caused by: java.lang.IllegalArgumentException: Dependency META-INF/lib/activation-1.1.1.jar can not be found in sonar-email-notifications-plugin-4.3.jar 
    at org.sonar.core.plugins.PluginJarInstaller.copyDependencies(PluginJarInstaller.java:53) 
    at org.sonar.core.plugins.PluginJarInstaller.install(PluginJarInstaller.java:40) 
    at org.sonar.batch.bootstrap.BatchPluginJarInstaller.installToCache(BatchPluginJarInstaller.java:40) 
    at org.sonar.batch.bootstrap.BatchPluginRepository.doStart(BatchPluginRepository.java:81) 
    at org.sonar.batch.bootstrap.BatchPluginRepository.start(BatchPluginRepository.java:72) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:110) 
    at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89) 
    at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84) 
    at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169) 
    at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132) 
    at org.picocontainer.behaviors.Stored.start(Stored.java:110) 
    at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:1015) 
    at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1008) 
    at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:766) 
    at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:91) 
    at org.sonar.api.platform.ComponentContainer.execute(ComponentContainer.java:77) 
    at org.sonar.batch.bootstrapper.Batch.startBatch(Batch.java:92) 
    at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:74) 
    at org.sonar.runner.batch.IsolatedLauncher.execute(IsolatedLauncher.java:48) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:87) 
INFO: ------------------------------------------------------------------------ 
    ... 9 more 
Program returned code : 1 

如果我訪問服務器從運行聲納亞軍(從瀏覽器中的/deploy/plugins/index.txt)我得到看到index.txt,所以我認爲它不應該是一個許可問題,還是我在這裏錯了?

另外,如果我從承載聲納的服務器運行聲納運行器(因此只在本地,在同一臺機器上),它的工作原理沒有問題。

你能幫我解決嗎?你需要更多的信息嗎?

Thx!

+0

不知道爲什麼,但看起來像sonar-email-notifications-plugin-4.3.jar文件在服務器端損壞。您可以嘗試簡單地重新啓動SonarQube服務器並啓動新的分析?如果這還不夠,你能重新安裝SonarQube 4.3嗎? –

+0

非常感謝您的回覆,但問題沒有解決。我嘗試重新啓動兩臺服務器;檢查lib/core-plugins中的.jar文件的內容(包含指定位置(Meta-Inf/lib /)的activation-1.1.1.jar);檢查用於activation-1.1.1.jar的emailnotifcations/Meta-Inf/lib /的web/deploy/plugins /文件夾,但activation-1.1.1.jar文件位於兩個位置。我也嘗試在服務器上重新下載和安裝sonarqube 4.3,但沒有成功(我使用了現有的sonar數據庫)。你有另一個想法嗎? Thx – lachi

回答

0

的問題是,在本地聲納插件緩存:運行聲納分析(C \用戶[本地用戶] \聲納)的服務器上有修改和插件被corrput。上運行的聲納分析和重新運行分析服務器:

我剛刪除的文件夾(\用戶[本地用戶] \聲納℃。)。聲納分析從託管聲納實例的服務器再次獲取插件,並因此獲得正確的(=未損壞的)jar-檔案。

[信息:這已由其他用戶建議,但已被網站管理員刪除。所以thx先生。未知的建議]

0

檢查你的主目錄(C:\用戶\ <你的用戶ID>)的.sonar目錄。刪除它,然後重試。

+0

我認爲這是一個答案(閱讀@lachi給他自己的問題的答案) – berndyman

+0

非常感謝,這是我的問題的原始答案。我剛纔在上面的[鏈接](http://stackoverflow.com/a/23889698/876005)的答案中更詳細地描述了它, – lachi