A principios de mi proyecto solía estar en Java 8 pero ahora estoy usando Java 11, junto con JavaFX JavaFX 11 y ahora se ha desacoplado de Java desde Java 11. No he descargar el SDK de JavaFX pero añadió a continuación la dependencia en pom.xml para conseguir módulos necesarios y los archivos jAR que se utilizaron para formar parte de Java en sí en versiones anteriores.
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11</version>
</dependency>
Pero me estoy error de compilación can not be resolved to a type
en @FXML
anotación y FXMLLoader
clase.
¿Es necesario añadir algunas otras dependencias / adicionales para resolver este problema?
FXML ( @FXML
anotación, FXMLLoader ...) se trasladaron al módulo javafx.fxml
con el lanzamiento de Java 9.
Antes de JavaFX 11, siempre que estuviera llamando a algo relacionado JavaFX, que tenía todos los módulos disponibles dentro de JavaFX SDK.
Pero ahora tiene que incluir los que necesita:
<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>
Tenga en cuenta que javafx.controls
depende de javafx.graphics
y java.base
, por lo que no es necesario para incluir a aquellos. Y javafx.fxml
depende directamente javafx.base
.