新しいモデルを定義するためにSonar用のプラグインを作成しようとしています。私はMavenでコンパイルしてうまく動作するリファレンスプラグインから始めました。私は私のクラスTestmodelDefinition.javaを追加すると、それはまだ罰金コンパイルが、私は、サーバーを再起動したときに、私は503エラーページを取得し、ログにスタックトレースがある:Sonarサーバーが満たされていない依存関係で起動できない:クラスjava.lang.String
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 [email protected]:119<I<[email protected]:7<I<[email protected]:19<| 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]
私はWindows上でEclipseを使用していますXPマシンでコードを書くことはできますが、コンパイルして64ビットUbuntu 10.04サーバー版で実行します。 私は
import java.lang.*;
を追加するだけで試してみましたが、それは何も解決しませんでした。
編集:ここでは はTestmodelDefinitionです:
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;
}
}
「TestModelDefinition」を表示できますか?どうやらそれは 'String'依存関係を持っています。 –
あなたの問題には関係ないが、 'java.lang。*'は自動的にインポートされるので、明示的に行う必要はありません。 – nwinkler
Mavenが成功したビルドを報告したときに私は多くのことを考え出しましたが、エラーが私を混乱させました – tmikulcek