首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >org.osgi.framework.BundleException:无法解决缺少的需求osgi.wiring.package;(osgi.wiring.package=javafx.application)

org.osgi.framework.BundleException:无法解决缺少的需求osgi.wiring.package;(osgi.wiring.package=javafx.application)
EN

Stack Overflow用户
提问于 2016-11-02 18:16:30
回答 1查看 2.1K关注 0票数 0

我正在尝试运行Maven OSGi JavaFx项目,但是我一直收到以下错误:

代码语言:javascript
复制
org.osgi.framework.BundleException: Unable to resolve launcher [4](R 4.0): missing requirement [launcher [4](R 4.0)] osgi.wiring.package; (osgi.wiring.package=javafx.application) Unresolved requirements: [[launcher [4](R 4.0)] osgi.wiring.package; (osgi.wiring.package=javafx.application)]
    at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4111)
    at org.apache.felix.framework.Felix.startBundle(Felix.java:2117)
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)
    at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984)
    at impl.App.loadBundles(App.java:84)
    at impl.App.initialize(App.java:60)
    at impl.App.main(App.java:26)

mvn clean package工作得很好,我生成了我的项目jars。

有些人四处阅读,让我读到this StackOverflow answer

JavaFX应用程序依赖于来自JavaFX API的包,如javafx.application和其他几个。 在Java 8中,javafx.*包由基JRE提供。但是,OSGi并不会自动从JRE导出每个包,仅仅是因为所有的JRE都有一堆非标准的包(例如com.sun.*等),而正常的应用程序代码不应该访问这些包。因此,OSGi只为您使用的Java版本提供了相关的JCP规范定义的包。例如,包,如javax.swing、org.w3c.dom等。 因为JavaFX不是一个标准,所以没有针对JavaFX的JCP规范,OSGi也不导出javafx.*包。但是,可以通过在启动OSGi时设置以下配置属性来为您配置OSGi: org.osgi.framework.system.packages.extra=javafx.application,...

我怎样才能落实上述建议,或如何解决问题?

EN

回答 1

Stack Overflow用户

发布于 2016-11-02 20:03:12

在构建框架对象的应用程序中,传递配置参数的映射。您可以使用所需的javafx包在映射中设置org.osgi.framework.system.packages.extra属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40387025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档