Я разрабатываю настольное приложение TornadoFX на основе OSGi, следуя этому toturial. Прежде чем приступить к программированию, я хотел подготовить среду OSGi. Для этого я установил Apache Felix 5.6.10 и необходимые пакеты. Felix и все необходимые пакеты работают правильно, как показано здесь (вывод команды lb
):
ID|State |Level|Name
0|Active | 0|System Bundle (5.6.10)|5.6.10
1|Active | 1|Apache Commons Logging (1.2.0)|1.2.0
2|Active | 1|Apache Apache HttpClient OSGi bundle (4.5.5)|4.5.5
3|Active | 1|Apache Apache HttpCore OSGi bundle (4.4.9)|4.4.9
4|Active | 1|jansi (1.16.0)|1.16.0
5|Resolved | 1|JavaFX 8 OSGi extension bundle (8.0.1)|8.0.1
7|Active | 1|JLine Bundle (3.5.1)|3.5.1
8|Active | 1|kotlin-osgi-bundle (1.2.31)|1.2.31
9|Active | 1|Apache Felix Bundle Repository (2.0.10)|2.0.10
10|Active | 1|Apache Felix Configuration Admin Service (1.8.16)|1.8.16
11|Active | 1|Apache Felix Gogo Command (1.0.2)|1.0.2
12|Active | 1|Apache Felix Gogo JLine Shell (1.0.10)|1.0.10
13|Active | 1|Apache Felix Gogo Runtime (1.0.10)|1.0.10
18|Active | 1|Apache Felix Gogo Shell (1.0.0)|1.0.0
22|Active | 1|JSR 353 (JSON Processing) Default Provider (1.0.0)|1.0.0
Однако не могу запустить связку TornadoFX! Я установил tornadofx-1.7.15.jar
с помощью install tornadofx-1.7.15.jar
, что было нормально, но когда я попытался установить start
, возникло следующее исключение:
Я использую java -jar bin/felix.jar
в командной строке для запуска Felix. Все интересующие пакеты находятся в папке bundle
под корневой папкой Felix. Кроме того, я пытаюсь заставить его работать под IntelliJ, но это может быть независимый поток.
org.osgi.framework.BundleException: Unable to resolve no.tornado.tornadofx [26](R 26.0):
missing requirement [no.tornado.tornadofx [26](R 26.0)] osgi.wiring.package; (osgi.wiring.package=com.sun.glass.ui) Unresolved requirements:
[[no.tornado.tornadofx [26](R 26.0)] osgi.wiring.package; (osgi.wiring.package=com.sun.glass.ui)]
Теперь вопрос в том, как я могу заставить его работать? Есть ли какой-либо другой пакет, который я должен установить заранее? для чего нужен com.sun.glass.ui
и как его добавить в пакеты или путь к классам?
install bundle/tornadofx-1.7.15.jar
, в то время как командная строка находится в корневом каталоге Felix. - person javadch   schedule 02.04.2018