gpt4 book ai didi

java - Eclipse:设置 org.osgi.framework.system.packages.extra 以在 osgi 类加载器中包含 javafx 不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 06:19:12 25 4
gpt4 key购买 nike

OSGI 和 JavaFX

OSGI 系统类加载器中不存在 JavaFX。

这就是为什么您无法访问 OSGI 包内的 JavaFX 类。

通常,您可以通过将org.osgi.framework.system.packages.extra传递给osgi实现来包含JavaFX包来避免这种情况。

我的问题

在我的 JavaFX 和 OSGI 应用程序中,我使用 pax runner 来构建 osgi 包。JavaFX 包 gets added to the extra package property并且在 pax runner JavaFX 中运行良好。

在我的 Eclipse 安装中,我使用 e(fx)clipse 插件来让 Eclipse 保持沉默,提示缺少 javafx 导入。

现在我尝试在 Eclipse 启动配置中传递 org.osgi.framework.system.packages.extra 属性来在 Eclipse 中调试我的应用程序。

但是 Eclipse 不接受我的参数传递,并且会忽略 org.osgi.framework.system.packages.extra 并在我将所有必需的 javafx 包传递给它时抛出 java.lang.NoClassDefFoundError

这是my Launch config .

一个简单的调试输出(System.out.println(System.getProperty("org.osgi.framework.system.packages.extra")))显示该属性已加载,但似乎 equinox 忽略了它。

最佳答案

Equinox 会跳过 extclassloader,您需要使用 -Dorg.osgi.framework.bundle.parent=ext 对其进行配置,或者更轻松地使用 efxclipse 的运行时包 - 查看我们的教程并在我们的论坛中提出更多问题

关于java - Eclipse:设置 org.osgi.framework.system.packages.extra 以在 osgi 类加载器中包含 javafx 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27650045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com