Note that there are some explanatory texts on larger screens.

plurals
  1. POSonar server fails to start with unsatisfied dependency: class java.lang.String
    primarykey
    data
    text
    <p>I am trying to write a plugin for Sonar to define a new model. I started with the reference plugin which compiles with Maven and runs fine. When I add my class TestmodelDefinition.java, it still compiles fine, but when I restart the server I get a 503 error page and in the log there is a stack trace:</p> <pre><code>org.picocontainer.injectors.AbstractInjector$UnsatisfiableDependenciesException: com.mycompany.sonar.reference.models.TestModelDefinition has unsatisfied dependency: class java.lang.String among unsatisfiable dependencies: [[class java.lang.String]] where org.picocontainer.DefaultPicoContainer@312cfd62:119&lt;I&lt;org.picocontainer.DefaultPicoContainer@12e90e23:7&lt;I&lt;org.picocontainer.DefaultPicoContainer@49b9a538:19&lt;| was the leaf container being asked for dependencies. at org.picocontainer.injectors.ConstructorInjector.getGreediestSatisfiableConstructor(ConstructorInjector.java:188) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.injectors.ConstructorInjector.getGreediestSatisfiableConstructor(ConstructorInjector.java:110) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.injectors.ConstructorInjector.access$100(ConstructorInjector.java:51) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:308) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:274) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:341) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:689) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:638) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:617) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.parameters.CollectionComponentParameter.getArrayInstance(CollectionComponentParameter.java:311) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.parameters.CollectionComponentParameter.access$100(CollectionComponentParameter.java:48) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.parameters.CollectionComponentParameter$1.resolveInstance(CollectionComponentParameter.java:138) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:141) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:76) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:286) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:312) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:274) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:341) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:689) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:638) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:617) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.containers.ImmutablePicoContainer.getComponent(ImmutablePicoContainer.java:40) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:704) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:638) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:627) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.parameters.BasicComponentParameter$1.resolveInstance(BasicComponentParameter.java:105) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.parameters.ComponentParameter$1.resolveInstance(ComponentParameter.java:136) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.injectors.SingleMemberInjector.getParameter(SingleMemberInjector.java:76) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.injectors.ConstructorInjector$CtorAndAdapters.getParameterArguments(ConstructorInjector.java:286) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:312) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:274) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:341) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.DefaultPicoContainer.instantiateComponentAsIsStartable(DefaultPicoContainer.java:1014) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.DefaultPicoContainer.addAdapterIfStartable(DefaultPicoContainer.java:1006) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:983) ~[picocontainer-2.10.2.jar:na] at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:746) ~[picocontainer-2.10.2.jar:na] at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:70) ~[sonar-plugin-api-2.13.1.jar:na] at org.sonar.server.platform.Platform.executeStartupTasks(Platform.java:236) ~[classes/:na] at org.sonar.server.platform.Platform.start(Platform.java:116) ~[classes/:na] at org.sonar.server.platform.PlatformLifecycleListener.contextInitialized(PlatformLifecycleListener.java:33) [classes/:na] at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:548) [jetty-6.1.25.jar:6.1.25] at org.mortbay.jetty.servlet.Context.startContext(Context.java:136) [jetty-6.1.25.jar:6.1.25] at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1272) [jetty-6.1.25.jar:6.1.25] at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) [jetty-6.1.25.jar:6.1.25] at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:489) [jetty-6.1.25.jar:6.1.25] at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [jetty-util-6.1.25.jar:6.1.25] at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) [jetty-6.1.25.jar:6.1.25] at org.mortbay.jetty.Server.doStart(Server.java:224) [jetty-6.1.25.jar:6.1.25] at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) [jetty-util-6.1.25.jar:6.1.25] at org.sonar.application.JettyEmbedder.start(JettyEmbedder.java:79) [sonar-application-2.13.1.jar:na] at org.sonar.application.StartServer.main(StartServer.java:50) [sonar-application-2.13.1.jar:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_20] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.6.0_20] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.6.0_20] at java.lang.reflect.Method.invoke(Method.java:616) ~[na:1.6.0_20] at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:240) [wrapper-3.2.3.jar:3.2.3] at java.lang.Thread.run(Thread.java:636) [na:1.6.0_20] </code></pre> <p>I am using Eclipse on a Windows XP machine to write the code but it is compiled and run on a 64-bit Ubuntu 10.04 server edition. I have tried simply adding</p> <pre><code>import java.lang.*; </code></pre> <p>but that didn't solve anything.</p> <p>Edit: Here is the TestmodelDefinition:</p> <pre><code>package com.mycompany.sonar.reference.models; import java.lang.*; import org.sonar.api.qualitymodel.*; import org.sonar.api.measures.*; public final class TestModelDefinition extends ModelDefinition { public TestModelDefinition(String name) { super(name); // TODO Auto-generated constructor stub } @Override public Model createModel() { Model testModel = Model.createByName("ISO 9126 way"); String parentName = "Maintainability"; String name = "Testability"; Characteristic parentCharacteristic = Characteristic.createByName(parentName); Characteristic newCharacteristic = Characteristic.createByName(name); CharacteristicProperty newProperty = CharacteristicProperty.create("Tests"); parentCharacteristic.setEnabled(true); newCharacteristic.setEnabled(true); parentCharacteristic.addChild(newCharacteristic); testModel.addCharacteristic(parentCharacteristic); testModel.addCharacteristic(newCharacteristic); return testModel; } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload