для варианта 1) вы действительно не хотите, чтобы все ваше приложение было в одном комплекте - вы потеряете все преимущества OSGi - но на самом деле это зависит от размера вашего приложения.
Это действительно зависит от того, где вы хотите запустить приложение и какую задачу вы хотите, чтобы оно выполняло. Также вы, вероятно, хотите иметь какое-то удаленное взаимодействие для доступа к открытым службам.
в варианте 1) вам нужно включить какой-нибудь пакет http / servlet (существует мост, который существует)
в варианте 2) ваше приложение может работать на сервере приложений, поэтому вам не нужно об этом беспокоиться.
Первый вопрос, который вы хотите задать себе, касается рабочей среды. Кто собирается запустить приложение? Нужно ли им / хотят пройти обучение по OSGi? Они более удобны со стеком J2EE?
Я думаю, что лучший вариант для вас - это оставить ваши параметры открытыми, между 1) и 2) нет никаких реальных отличий, кроме того, что является основой OSGi, будь то ваш код или код платформы. Само ваше приложение, то есть пакеты, составляющие ваше приложение, будут точно такими же.
Я бы посоветовал не слишком беспокоиться о времени выполнения OSGi - но начинать с разработки OSGi - ничто не мешает вам разрабатывать «стиль OSGi» и работать в стандартной среде JRE.