JavaFX 应用程序 class 不在 javafx.application 包中
JavaFX Application class not in javafx.application package
我最近将 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
class 的 javadoc,看来它们应该包含在 class 文件中 [= 18=、controls
和 fxml
模块我在 pom.xml
文件中链接为依赖项。
为什么我的导入没有解析?
哦,没关系。在我尝试在我的 Maven 依赖项中升级到 JavaFX 13 之前,我为此苦恼了几个小时,现在一切正常。
:/
我最近将 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
class 的 javadoc,看来它们应该包含在 class 文件中 [= 18=、controls
和 fxml
模块我在 pom.xml
文件中链接为依赖项。
为什么我的导入没有解析?
哦,没关系。在我尝试在我的 Maven 依赖项中升级到 JavaFX 13 之前,我为此苦恼了几个小时,现在一切正常。
:/