2013-03-21 150 views
0

我想在Ubuntu 12.04機器上設置聲吶。但是,當我運行mvn(maven 3.0.4)時,它會失敗並出現此異常。聲納服務器運行良好,我可以從瀏覽器訪問它。聲納:IllegalStateException

這裏是我的settings.xml聲納的個人資料(〜/ .m2目錄/ settings.xml中)

<profiles> 
<profile> 
    <id>sonar</id> 
    <activation> 
    <activeByDefault>true</activeByDefault> 
    </activation> 
    <properties> 
    <sonar.jdbc.url>jdbc:h2:tcp://localhost:9092/sonar</sonar.jdbc.url> 
    <sonar.jdbc.driver>org.h2.Driver</sonar.jdbc.driver> 
    <sonar.jdbc.username>sonar</sonar.jdbc.username> 
    <sonar.jdbc.password>sonar</sonar.jdbc.password> 
    </properties> 
</profile> 
</profiles> 

例外:

[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.0:sonar (default-cli) on project configurator: Can not execute Sonar: IllegalStateException -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal  org.codehaus.mojo:sonar-maven-plugin:2.0:sonar (default-cli) on project configurator: Can not  execute Sonar 
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217) 
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) 
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
Caused by: org.apache.maven.plugin.MojoExecutionException: Can not execute Sonar 
at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:118) 
at org.codehaus.mojo.sonar.Bootstraper.start(Bootstraper.java:65) 
at org.codehaus.mojo.sonar.SonarMojo.execute(SonarMojo.java:90) 
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
... 19 more 
Caused by: java.lang.IllegalStateException 
at org.sonar.home.cache.FileCache.newTempFile(FileCache.java:143) 
at org.sonar.home.cache.FileCache.get(FileCache.java:83) 
at org.sonar.batch.bootstrap.PluginDownloader.downloadPlugin(PluginDownloader.java:53) 
at org.sonar.batch.bootstrap.BatchPluginRepository.doStart(BatchPluginRepository.java:74) 
at org.sonar.batch.bootstrap.BatchPluginRepository.start(BatchPluginRepository.java:65) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
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:1009) 
at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1002) 
at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:760) 
at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:72) 
at org.sonar.batch.bootstrap.Container.start(Container.java:71) 
at org.sonar.batch.bootstrapper.Batch.startBatch(Batch.java:88) 
at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:72) 
at org.sonar.maven3.SonarMojo.execute(SonarMojo.java:142) 
at org.codehaus.mojo.sonar.Bootstraper.executeMojo(Bootstraper.java:113) 
... 23 more 

讓我知道如果你需要任何額外的信息。

回答

2

堆棧跟蹤告訴我們,當前插件是org.codehaus.mojo:sonar-maven-plugin:2.0,自2011年11月5日起,它已經非常舊了。

我想推薦不要在我們的pom.xml定義它作爲mentionins在Analyzing with Maven: Recommended Way如下所示: -

mvn clean install -DskipTests=true 
mvn sonar:sonar 

skipTests =真不運行單元測試兩次:在安裝目標期間和再次在聲納目標期間。您也可以停用集成測試執行。請參閱Maven文檔。

無論如何如果您想明確定義它,請使用與您的Sonar服務器版本相匹配的最新版本。例如我正在使用當前的Sonar服務器版本3.5。該插件應該是,org.codehaus.sonar:sonar-maven-plugin:3.5org.codehaus.sonar:sonar-maven3-plugin:3.5

即使Installing and Configuring Maven還告訴我們,sonar.host.url是一個可選(默認爲http://localhost:9000),我也想鼓勵將其定義明確爲好。

我希望這可能有所幫助。

+0

謝謝。我現在使用聲納插件2.5版,它工作。 – devang 2013-03-22 18:23:15

+0

'mvn compille'應該足夠好,我不推薦安裝,即使它只是本地回購 – Shiva 2016-05-02 17:43:14