📜  包 javafx.fxml 不存在 - Java (1)

📅  最后修改于: 2023-12-03 15:37:01.380000             🧑  作者: Mango

包 javafx.fxml 不存在 - Java

介绍

当你在Java程序中引用JavaFX框架中的FXML模块时,有时会发现代码报错提示包 javafx.fxml 不存在。这个问题通常是由于没有正确配置JavaFX所导致的。

解决方案
1. 检查JavaFX库是否已包含在项目中

在项目构建或Maven配置文件中查看是否包含了JavaFX库的依赖。你可以在pom.xml配置文件中添加以下依赖项:

<dependency>
  <groupId>org.openjfx</groupId>
  <artifactId>javafx-controls</artifactId>
  <version>11</version>
</dependency>
<dependency>
  <groupId>org.openjfx</groupId>
  <artifactId>javafx-fxml</artifactId>
  <version>11</version>
</dependency>
2. 将JavaFX库添加到你的模块路径

如果你在使用Java9及更高版本,则需要将JavaFX库添加到你的模块路径中,而不是类路径中。您可以使用--module-path指定模块路径,并使用--add-modules标志指定JavaFX模块。例如,

java --module-path /path/to/javafx-sdk-11.0.2/lib --add-modules javafx.controls,javafx.fxml
3. 设置运行时默认JavaFX实现

在Java 11及更高版本中,JavaFX已从JDK中单独分离。因此,如果您的项目中使用FXML,并且您正在使用Java 11及更高版本,则必须设置运行时默认JavaFX实现。为此,在VM参数中添加以下内容:

--module-path /path/to/javafx-sdk-11.0.2/lib --add-modules javafx.controls,javafx.fxml -Dprism.order=sw
结论

在开发JavaFX项目时,'包 javafx.fxml 不存在'错误常常出现,可能是由于没有正确配置JavaFX所导致。本文介绍了三种解决方法,希望对您有所帮助。