Недавно я обновил Eclipse до версии 2019-12 и мой JDK до Java SE 13, и впоследствии я узнал, что этот JSE больше не включает JavaFX в качестве базовой библиотеки. Итак, я посмотрел записи зависимостей Maven для более новых библиотек JavaFX, совместимых с JSE 13, и выбрал версию 11. Я добавил их в свой файл pom.xml
следующим образом:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>...</modelVersion>
<groupId>...</groupId>
<artifactId>...</artifactId>
<version>...</version>
<url>https://github.com/.../url>
<name>...</name>
<description>...</description>
<dependencies>
...
...
<!-- JavaFX is no longer included in JDK -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-graphics</artifactId>
<version>11</version>
<type>pom</type>
</dependency>
<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>
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
Однако теперь некоторые javafx
импорт в мои исходные файлы не может быть разрешен. Например:
import javafx.application.Application; //Application class not found
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.scene.paint.Color; //Color class not found
Я проверил javadoc для классов javafx...Application
и javafx...Color
, и кажется, что они должны быть включены в файлы классов в graphics
, controls
, и fxml
модули, которые я связал как зависимости в файле pom.xml
.
Почему мой импорт не разрешается?