问题
I am looking for settung up my RCP and install all of the available applications on it. However; these applications have many internal and external dependencies such as.
A -> B [1.0.0, 2.0.0)
C -> B [2.0.0, 3.0.0)
As a result in order to have both A and C installed on my RCP, I need both versions of B available and running. Assuming that B is not a singleton, what is the behavior of Equinox OSGI? In some places I read that OSGI will catch the latest version and loads that bundle. However, I am wondering if there is any way to activate B 1.0.0 for plugin A and B 2.0.0 for plugin C?
回答1:
Yes this is simply the normal behaviour of OSGi. The dependency version ranges are non-overlapping so you will be able to install both versions 1.x and 2.x of B. Then A will get wired to version 1 and C will get wired to 2.
来源:https://stackoverflow.com/questions/21589333/equinox-osgi-activating-two-versions-of-the-same-bundle