需要从eclipse插件代码访问JavaFX

问题描述 投票:1回答:1

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

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

java eclipse javafx eclipse-plugin swt
1个回答
2
投票

如以下链接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,它添加​​了所需的依赖项。

© www.soinside.com 2019 - 2024. All rights reserved.