Я недавно начал использовать рамки OSGi .. Я пытаюсь запустить OSGi контейнер из проекта на основе Maven ..Какой пакет для FrameworkFactory я должен выбрать в OSGi?
Я добавил эту зависимость в моем файле pom.xml в вышеприведенном Maven Project-
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.framework</artifactId>
<version>4.2.1</version>
</dependency>
Ниже мой главный APPLICATION-
public static void main(String[] args) throws BundleException {
FrameworkFactory frameworkFactory = ServiceLoader.load(FrameworkFactory.class).iterator().next();
Map<String, String> config = new HashMap<String, String>();
//TODO: add some config properties
Framework framework = frameworkFactory.newFramework(config);
framework.start();
}
Теперь, когда я пытаюсь импортировать пакеты для FrameworkFactory
, я получаю два варианта на выбор .. Ниже изображение. Может ли кто-нибудь помочь мне, какой из них мне нужно выбрать здесь?
я выбирал эти два?
import org.osgi.framework.launch.Framework;
import org.osgi.framework.launch.FrameworkFactory;
Это право?
Другой ключ заключается в том, что 'org.osgi.framework.launch.FrameworkFactory' является интерфейсом, тогда как' org.apache.felix.framework.FrameworkFactory' является конкретным классом. При использовании ServiceLoader вы всегда хотите загрузить интерфейс. –