将 jfxrt 移动到 lib/ext 用于 OSGI 目的


有人

建议javafx classload和osgi问题的一部分解决方案是将jfxrt移动到Java安装lib/ext目录,以便在JVM启动时加载它。

如果在 Java 的私有安装中完成此操作,则 javafx 类在设计时可用,但在安装 javafx 捆绑包时在运行时找不到。

这有可能起作用吗?

我在 eclipse 中使用 felix 和 bndtools 作为 Ubuntu 12.04 上的开发环境。

首先,使用 javafx 包的捆绑包必须使用 Import-Package 导入它们。

接下来,您需要获取系统捆绑包以导出软件包。缺省情况下,系统捆绑包仅导出标准 JRE 软件包和 OSGi 框架软件包;您可以通过设置属性org.osgi.framework.system.packages.extra来扩展此范围。由于您使用的是 Bndtools(很好!),因此您可以按如下方式设置属性:

-runsystempackages: javafx.foo,javafx.bar...

我最近发布了Drombler FX的第一个抢先体验版本,这是一个基于OSGi和Maven(POM优先)的JavaFX模块化富客户端平台。

您可以在此处阅读有关它的更多信息:http://puces-blog.blogspot.ch/2012/12/drombler-fx-building-modular-javafx.html

入门:http://wiki.drombler.org/GettingStarted

生成的输出解释如下:http://wiki.drombler.org/GettingStarted#drombler-fx-sample-application-the-binaries-explained

(我不必移动任何JavaFX JAR。

最新更新