如何在OSGI中的包中导入Javafx8

时间:2015-02-17 16:53:02

标签: osgi bundle javafx-8

我正在与Felix合作开发OSGI应用程序。现在我想在一个包中使用一些JavaFx8类,但是我有以下错误:

Unable to resolve 1.0: missing requirement [1.0] osgi.wiring.package; (osgi.wiring.package=javafx.geometry

如何在我的包中导入JavaFx8 SDK包。

提前致谢,

3 个答案:

答案 0 :(得分:1)

您可以将库添加到felix类路径,并将必要的包附加到org.osgi.framework.system.packages.extra选项。 http://felix.apache.org/site/apache-felix-framework-configuration-properties.html 如果你这样做,捆绑没有。 0将导出所需的包。我可以在以后的电脑上提供更详细的说明,现在我正在使用手机。

答案 1 :(得分:0)

  

我正在与Felix合作开发一个OSGI应用程序。现在我想用一些   捆绑中的JavaFx8类

     

我需要创建一个完整的GUI,我需要一些重要的GUI   进口。

我发布了一些早期版本的Drombler FX,这是一个基于OSGi(Apache Felix)和Maven的新的JavaFX富客户端平台。

作为一个应用程序框架,它确保JavaFX和OSGi能够正常启动并提供主窗口。

您可以在此处详细了解Drombler FX:http://puces-blog.blogspot.ch/search/label/Drombler

有一个Getting Started页面,通过几个简单的步骤解释了如何创建,构建和运行Drombler FX示例应用程序。

答案 2 :(得分:0)

经过多次研究,我最终通过在项目的pom.xml中添加我需要的软件包来解决问题:

<configuration><provision>
        <param>--platform=felix</param>
        <param>--noConsole</param>
        <param>--systemPackages=javafx.animation,javafx.application,javafx.collections,javafx.embed.swing,javafx.geometry,javafx.scene,javafx.scene.layout,javafx.scene.transform,javax.swing,javax.swing.border,org.osgi.framework</param>
      </provision></configuration>

或将以下属性添加到同一文件(项目的pom):

<properties>
<org.osgi.framework.system.packages.extra>javafx.animation,javafx.application,javafx.collections,javafx.embed.swing,javafx.geometry,javafx.scene,javafx.scene.layout,javafx.scene.transform,javax.swing,javax.swing.border,org.osgi.framework
</org.osgi.framework.system.packages.extra>
<org.osgi.service.http.port>8080</org.osgi.service.http.port>
<org.osgi.service.http.port.secure>8443</org.osgi.service.http.port.secure>

对于More information,请检查该链接。