java - 出于 OSGI 目的将 jfxrt 移至 lib/ext

标签 java osgi javafx bndtools

有人建议部分解决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/

相关文章:

osgi - 如何添加cq :listener to a component

java - 选择屏幕的像素选择

css - JavaFX 8 Custom RowFactory ContextMenu 背景图像不完全可见

java.net.SocketException : Connection reset (SSL) 异常

java - 链表和迭代器

Java 8 HttpUrlConnection 无法解析 http 协议(protocol) 2 的响应

java - Hackerrank 不接受有效的解决方案

java - 获取已在 OSGi 中注册的服务时发生 ClassCastException

java - 如何设置 OSGi 和非 OSGi WAR 以使用外部属性文件

java - 如何在将光标放在 HTML 元素上时获取其属性?