我最近将 Eclipse 更新到了 2019-12 版本,并将 JDK 更新到了 Java SE 13,后来我了解到这个 JSE 不再包含 JavaFX 作为核心库。因此,我查找了与 JSE 13 兼容的较新 JavaFX 库的 Maven 依赖项条目,并选择了版本 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
我已经检查了 javafx...Application
和 javafx...Color
类的 javadoc,看来它们应该包含在以下类文件中:我将 graphics
、controls
和 fxml
模块链接为 pom.xml
文件中的依赖项。
为什么我的导入没有解析?
最佳答案
哦,没关系。在我尝试在我的 Maven 依赖项中升级到 JavaFX 13 之前,我已经笨手笨脚地解决了几个小时,现在一切正常了。
:/
关于JavaFX 应用程序类不在 javafx.application 包中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60177801/