環境:
問題:
JDK 1.8にはJavaFXが含まれているはずです。ただし、OpenJDK 1.8の場合、これはどうやらそうではないようです(Mavenの依存関係がないと、IntelliJはimport javafx.application.Application;
も他のJFXインポートも受け付けません)。
このため、Mavenの依存関係として含めようとしています。私が使用する場合:
<!-- JavaFX -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11</version>
</dependency>
.
.
.
次のエラーメッセージが表示されます。
Error:(3, 26) Java: cannot access javafx.application.Application
bad class file: /C:/Users/kaspa/.m2/repository/org/openjfx/javafx-
graphics/11/javafx-graphics-11-win.jar!/javafx/application/Application.class
class file has wrong version 54.0, should be 52.0
Please remove or make sure it appears in the correct subdirectory of the
classpath.
<version>12</version>
を使用すると、[...]wrong version 55.0, should be 52.0[...]
が生成されます。
最下位の<version>
、Maven <dependency>
の中で、私は使用できるようです。
質問:
pom.xml
に追加/変更できるものはありますか?まず、背景について少し説明します。 Java 8からJava 10まで。以前はOracle JDKにJavaFXが付属していました。ただし、これらのバージョンでも、JavaFXはOpenJDKの一部ではありません。 Java 11、JavaFxもOracle JDKの一部ではありません(OpenJDKの場合のように)。
だから、何が間違っているのですか?
JDK 8でJavaFX 11および12を実行しようとしています。これは不可能です。
あなたは何ができますか?
Openjfx 8を入手してください。これらは source からビルドするか、UbuntuのSudo-aptからインストールできます。
JavaFX 8はMaven依存関係として使用できますか?
私が気づいているわけではありません!
私のアドバイス..Java8を使用する場合、またはJava 11にアップグレードして、Maven依存関係としてopenJFXを使用する場合は、Oracle JDKを使用してください。