Хотя OSGi напрямую не поддерживает несколько пакетов в одной и той же банке, существует стандартный набор для нескольких пакетов в том же архиве, который решает проблему распространения, которую вы пытаетесь решить. К сожалению, это может создать дополнительную проблему в вашем сценарии, потому что это часть корпоративного OSGi, а не основного OSGi, поэтому она не будет частью единой платформы Equinox или Felix. Если у вас больше контроля над стартовой платформой, которую используют ваши пользователи, она может делать то, что вам нужно.
Основная идея заключается в том, что вы упаковываете все свои связки в zip с расширением .esa вместе с простым манифестом. Затем вы можете распространять файл esa. Этот урок включает в себя более подробную информацию: http://coderthoughts.blogspot.co.uk/2013/04/osgi-subsystems.html?m=1
Любопытно, почему вы пытаетесь это сделать? Вы можете просто загружать пакеты B1 и B2. – codesalsa
@codesalsa, потому что мы не можем заставить кого-то (нетехнического) загрузить два файла. На самом деле в OSGi есть плагиновая структура, и наиболее подходящий способ установить такой плагин - это предоставить файл jar (который является пакетом). –