Это зависит от того, какую реализацию OSGi вы используете. Я использую Eclipse Equinox и запускаю фреймворк из обычного Java-класса. Jar Eclipse (называемый org.eclipse.osgi_longversion.jar) имеет класс org.eclipse.core.runtime.adaptor.EclipseStarter. Это загрузит ваш OSGi Framework.
Properties props = new Properties();
// add some properties to config the framework
EclipseStarter.setInitialProperties(props);
BundleContext context = EclipseStarter.startup(new String[]{},null);
Вам нужны некоторые свойства для настройки фреймворка. Вы можете увидеть все документированные свойства здесь . Как только вы вызываете автозагрузку, BundleContext, который вы получаете, является контекстом системного пакета, поэтому вы можете устанавливать / запускать / останавливать пакеты отсюда.
Если вы установите все свойства, вам не нужно будет передавать аргументы в startup ().
Вы можете скачать все Equinox и другие комплекты с веб-сайта Equinox .