有人建议部分解决javafx类加载和osgi问题的方法是将jfxrt移动到Java安装lib/ext目录,以便在JVM启动时加载。
如果这是在 Java 的私有(private)安装中完成的,则 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...
关于java - 出于 OSGI 目的将 jfxrt 移至 lib/ext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13890216/