簡體   English   中英

在Apache Felix上安裝TornadoFX OSGi捆綁包失敗

[英]Installing TornadoFX OSGi bundle fails on Apache Felix

我通過遵循此toturial開發基於OSGi的TornadoFX桌面應用程序。 在開始編碼之前,我想准備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。 所有感興趣的包都位於Felix根文件夾下的bundle文件夾中。 另外,我正在嘗試使其在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是什么,以及如何將其添加到包或類路徑中?

該錯誤消息表示軟件包no.tornado.tornadofx導入了軟件包com.sun.glass.ui ,但是您沒有安裝用於導出該軟件包的軟件包。

該軟件包作為某些JDK的一部分提供,但是OSGi默認不導出,因為它不是Java SE標准的一部分。 假設您的JDK包含它,則可以通過設置啟動屬性從系統捆綁包中導出:

org.osgi.framework.system.packages.extra=com.sun.glass.ui

您尚未確切說明如何啟動Felix,因此我無法提供有關如何設置此屬性的具體細節。 如果您有困難,請編輯問題以提供更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM