首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >声纳: IllegalStateException

声纳: IllegalStateException
EN

Stack Overflow用户
提问于 2013-03-22 05:48:52
回答 1查看 3.6K关注 0票数 0

我正在尝试在Ubuntu 12.04机器上设置声纳。但是,当我运行mvn (maven 3.0.4)时,它会失败,并出现以下异常。声纳服务器运行正常,我可以通过浏览器访问它。

这是我在settings.xml (~/.m2/settings.xml)中的声纳配置文件

代码语言:javascript
复制
<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>

例外:

代码语言:javascript
复制
[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

如果您需要任何其他信息,请告诉我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-22 09:04:08

堆栈跟踪告诉我们,当前的插件是org.codehaus.mojo:sonar-maven-plugin:2.0,这是自2011年11月5日以来相当旧的插件。

我建议不要在我们的pom.xml中将其定义为在Analyzing with Maven: Recommended Way中提及以下内容:-

代码语言:javascript
复制
mvn clean install -DskipTests=true
mvn sonar:sonar

skipTests=true不会运行两次单元测试:在安装目标和声纳目标期间。您还可以停用集成测试执行。请参考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),我也鼓励显式地定义它。

我希望这能有所帮助。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15558848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档