1

これがばかげた質問ならごめんなさい。

OSGiでは、バンドルのインストール中にファイルのURLを渡すことができます。

Bundle myBundle = felix.getBundleContext().installBundle ( "file:/Felix/RootDir/MyBundle.jar" );

URL「file://Felix/RootDir/MyBundle.jar」がバンドルを一意に識別するようになりました。

相対URLを渡すことはできますか?以下のような:

Bundle myBundle = felix.getBundleContext().installBundle ( "file:MyBundle.jar" );

もしそうなら、この相対URLの親ディレクトリは何ですか?(それはfelix.cache.rootdirですか?)

相対URLが許可されている場合、Felixは内部で相対URLを絶対URLに変換しますか?つまり、私がそうする場合:

String locationID = myBundle.getLocation();

絶対URLまたは相対URLを返しますか?

(はい、各バンドルにも長いint IDがあることを知っています)

4

1 に答える 1

1

Felix の「現在のディレクトリ」は、おそらく起動時に有効なディレクトリです。また、フレームワークは、バンドルをインストールするために指定した場所の文字列を変更してはなりません。したがって、指定された場所の文字列を他の値に変換することはありません。

于 2012-08-08T16:49:23.600 に答える