0

コンポーネントに を挿入しようとしDependencyManagerています。BundleContextは注入されますが、 は注入されませDependencyManagerん ( @Inject)。私は何を間違っていますか?

import org.apache.felix.dm.DependencyManager;
import org.apache.felix.dm.annotation.api.Component;
import org.apache.felix.dm.annotation.api.Init;
import org.apache.felix.dm.annotation.api.Inject;
import org.apache.felix.dm.annotation.api.Start;
import org.osgi.framework.BundleContext;

@Component
public class InjectionExample
{
    @Inject
    BundleContext bundleContext;

    @Inject
    DependencyManager manager;

    @Init
    void init()
    {
        System.out.println("Bundle Context: " + bundleContext);
        System.out.println("Manager: " + manager);
    }

    @Start
    void start()
    {
        System.out.println("start");
    }
}
4

1 に答える 1

1

「問題」が見つかりました。私のプロジェクトでは、依存関係マネージャーの 2 つの異なるバージョンが使用されています。1 つのバージョンの使用を強制すると、機能します。

于 2016-12-13T17:07:42.033 に答える