【问题标题】:Need to access JavaFX from a eclipse plug-in code需要从一个eclipse插件代码中访问JavaFX
【发布时间】:2019-02-16 07:45:18
【问题描述】:

我正在尝试在 Eclipse 插件的 Java 8 代码中使用 JavaFX 包。我能够编译它,但在运行时插件无法加载 JavaFX 类。 看起来,OSGi 插件无法从“[JAVA]\jre\lib\ext\”目录加载类,但能够从“[JAVA]\jre\lib\”加载类。任何如何解决问题的指针都非常感谢。

** 我知道有办法关闭 e(fx)clipse 或将 jfxrt.jar 复制到插件类路径将解决问题,但我想知道为什么插件无法加载/ext/ JRE 的路径。

【问题讨论】:

标签: java eclipse javafx eclipse-plugin swt


【解决方案1】:

如以下链接所述 Unresolved JavaFX packages in OSGi Felix Application,我们做了以下步骤来解决这个问题。 以下是 OSGi 配置属性。

org.osgi.framework.bundle.parent - 指定用于引导委托的类加载器。可能的值有:boot 用于引导类加载器,app 用于应用程序类加载器,ext 用于扩展类加载器,framework 用于框架的类加载器。默认为启动。

org.osgi.framework.system.packages - 指定应通过 System Bundle 从框架类加载器导出的包的逗号分隔列表。框架会将其设置为合理的默认值。如果指定了值,它将替换任何默认值。

所以通过添加

-Dorg.osgi.framework.bundle.parent=ext  
-Dorg.osgi.framework.system.packages.extra=javafx.* 

VM 参数,它添加了所需的依赖项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    • 1970-01-01
    • 2021-02-23
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多