実行時にファイルシステムからロードされる別のOSGi jarからクラスメソッドを実行する必要があるNetBeans OSGi mavenプロジェクトがあります。Java Maven OSGiファイルシステムからjarを動的にロードし、実行時にクラスメソッドを実行します。
私は、これらの似た質問のいくつかを見てみました:
java: is there a framework that allows dynamically loading and unloading of jars (but not osgi)?
How to dynamically load Java classes at Runtime in OSGI framework?
が、それらの非私はロードしていますバンドルにメソッドにアクセスすることができますどのように答えているようです。
彼らは私にバンドルのロード方法についての良い指示を与えるようですが、OSGiのドキュメントもそうです。私が見つけられなかったのは、私がインストールしたバンドルの特定のクラスから特定のメソッドを実行する方法です。リフレクションはうまくいかないようですが、それは良いアイデアではないかもしれないと私は読んで、いずれにせよそれは私に有名なClassNotFoundExceptionを与えます。
あり、この中に示すように、全体のマニフェストのインポートおよびエクスポートでもあるし、他の質問 OSGi: programmitically add imports to a bundle
私は、NetBeansを使用していますので、私はまた、私はそれが仕事をしていませんかどうかわからないんだけど、bndtoolsを使用することはできません。 OSGiサービスと何か関係があるかどうかもわかりません。私の髪を引っ張らないように私を助けて誰にも事前に
感謝:)
私はNetBeans OSGIでしばらく働いていましたが、現在はIDEを手に入れていません。バンドルをNetBeansの依存関係として追加する必要があることを覚えておいてください。その後、好きなようにメソッドを呼び出すことができます。しかし、まず必要なパッケージをエクスポートする必要があります。 –