首页  >  文章  >  Java  >  尽管编译成功,为什么我仍收到“不支持的 JavaFX 配置”警告?

尽管编译成功,为什么我仍收到“不支持的 JavaFX 配置”警告?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-31 18:34:29236浏览

 Why Am I Getting an

JavaFX 警告:不支持的配置

使用 JavaFX 时,您可能会遇到一条警告,内容为“不支持的 JavaFX 配置:类已从尽管编译成功,但还是出现“未命名模块@...”。此警告是由于 Java 9 中引入的模块系统引起的,并影响 JavaFX 的加载方式。

了解问题

JavaFX 仅支持通过以下方式从命名模块加载模块路径,而不是类路径。但是,如果系统检测到 JavaFX 是从类路径加载的,则会触发此警告。

解决方案

要解决此问题,您需要确保JavaFX 作为命名模块从模块路径加载。这可以通过多种方式完成:

  1. 非模块化应用程序: 使用 --module-path 和 --add-modules 参数:

    java --module-path <path-to-fx> --add-modules javafx.controls ...
  2. 模块化应用程序: 使用 --module 参数将应用程序作为模块启动:

    java --module-path <path> --module app/com.example.app.Main [args...]
  3. 使用带有 JavaFX 的 JDK 发行版: 使用默认包含 JavaFX 的 Java 版本,例如 BellSoft Liberica JDK 或 Azul Zulu JDK。
  4. 忽略警告: 您可以选择忽略警告,因为它目前不会导致任何功能问题。请注意,不建议使用此方法。

部署

对于部署,您可以考虑以下选项:

  • 需要安装 JavaFX JRE: 确保客户端安装了与 JavaFX 兼容的 JRE。
  • 自包含应用程序: 使用所有必要的依赖项和捆绑的 JRE 打包您的应用程序。
  • 可执行 JAR: 将 JavaFX 和其他依赖项嵌入到可执行 JAR 文件中。

附加说明

  • 默认情况下,JavaFX 要求主类是 javafx.application.Application 的子类型。
  • 如果从未命名模块加载 JavaFX,则主类不能是 javafx.application.Application 的子类型。

以上是尽管编译成功,为什么我仍收到“不支持的 JavaFX 配置”警告?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn