2

OSGi バンドルに 2 つの依存関係があり、それぞれが同じ OSGi バンドルの異なるバージョンに依存することはありますか?

OSGi パッケージに 2 つの依存関係があり、それぞれが同じ OSGi パッケージの異なるバージョンに依存することはありますか?

(私は OSGi をゼロから学ぼうとしています。この質問は、基本的な概念を理解するのに役立つことを目的としています。OSGi サービスに関するオンライン記事を読むと、そのような依存関係は確かに推奨される方法ではないことがわかります。しかし、それらは可能ですか?まったく?)

(更新:2つの質問を言い換えました。)

4

2 に答える 2

8

No. OSGi provides a consistent class space for a bundle. This means that it is only exposed to a single class of a given name. So a bundle cannot simultaneously see more than one version of a package at a time.

This does not mean that ClassCastExceptions are impossible since code your bundle is directly dependent on, can expose objects from their dependencies to your bundle. The proper use of uses constraints on export packages is important to prevent this.

于 2013-09-10T17:56:19.633 に答える