ImはちょうどOSGiを学び始めました。 Apacheのフェリックス(版にそれをアップロードOSGi:org.osgi.framework.BundleExceptiom:解決できない[16](R 16.0)
main-class: HelloWorldActivator
bundle-name: HelloWorldActivator
import-package: HelloWorld
5.6.1:
public class HelloWorld {
public interface SayHello
{
void greeting();
}
public static class Greeting implements SayHello {
@Override
public void greeting(){
System.out.println("Hello OSGi world!");
}
}
public static void main(String[] args) {
}
}
そしてHelloWorldActivatorバンドル:
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
public class HelloWorldActivator implements BundleActivator {
public void start(BundleContext ctx){
ServiceReference ref = ctx.getServiceReference(HelloWorld.Greeting.class.getName());
((HelloWorld.Greeting)ctx.getService(ref)).greeting();
}
public void stop(BundleContext ctx){
System.out.println("HelloWorld bundle has been stoped");
}
}
HelloWorldActivator.mf 私はHelloWorldのバンドルを書きました。 ): screen そして、アクティベータを起動しようとすると、エラーメッセージが表示されます。 screen
実際に最初のスクリーンショットを見ると、2つのバンドルがあります。 HelloWorldを含むもの、アクティベータを含むものそれがなぜ行われたのか分かりません。 –
ありがとう、私は確かにそれらのチュートリアルをチェックします。 2つのバンドルが必要なのは、あるバンドルで別のバンドルからメソッドを使用したいからです。 – DnyashA