需要从eclipse插件代码访问JavaFX

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了需要从eclipse插件代码访问JavaFX相关的知识,希望对你有一定的参考价值。

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

**我知道有一种方法可以将e(fx)剪切或复制jfxrt.jar复制到插件类路径将解决问题,但我想知道为什么插件无法从/ ext /加载JRE的路径。

答案

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

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

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

所以加入

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

VM args,它添加​​了所需的依赖项。

以上是关于需要从eclipse插件代码访问JavaFX的主要内容,如果未能解决你的问题,请参考以下文章

如何在 eclipse kepler 中查看 JavaFX SDK 的源代码?

如何从插件访问 Eclipse Java 调试器?

如何在 Eclipse 中为任何 jar 文件附加源代码或 JavaDoc,例如JavaFX?

无法访问类 com.sun.javafx.util.Utils(在模块 javafx.graphics 中)-JavaFX 和 Eclipse

为 Eclipse 安装了 Hibernate Tools 插件,但无法访问代码生成功能

JavaFx:基本的访问mysql的demo(手动构建方式)