OpenJDKの1.8を使用してJavaFXのためのMavenの依存関係

カスパーヨハネス・シュナイダー:

環境:

  • OS:アプリケーションを開発および実行するために、OpenJDKの1.8とMavenの両方のWindowsプロ10(1809)とLinux(UbuntuのやDebianのようなもの)が使用されますインストールされています。
  • JDK: OpenJDKの1.8
  • IDE: IntelliJの究極
  • ビルドツール Mavenを(マルチモジュールプロジェクトでは、1つのモジュールがJavaFXのを使用しています)
  • 私は非常に支払われたライセンス(たとえ、このプロジェクトのために、私はおそらく自由のためのOracle JDKを使用することができます...)で使用するのは何も希望しません。

問題:

私は、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>、私は使用することができる午前BO 11に思えます。

質問:

  • 私は追加することができます/私への変更を何かがあるpom.xml私のアプリケーションのコンパイルと実行を行うためには?
  • 私は絶対にOpenJDKの11または12にアップグレードする必要がありますか?
Gopalaクリシュナ文字:

まず、背景のビット。Javaの8からJavaの10に、OracleのJDKは、JavaFXのが付属していました。しかし、でもこれらのバージョンでは、JavaFXのは、OpenJDKのの一部ではありません。Javaの11からは、JavaFXのは、Oracle JDK(OpenJDKを持つケースがあったように)の一部ではありません。

だから、あなたは間違って何をしているのか?

あなたはJDK 8でJavaFXの11と12を実行しようとしている。これは不可能です。

あなたは何ができますか?

あなたはどちらかからそれらを構築することができopenjfx 8.ゲットソースや須藤はapt-Ubuntuの上を通してそれをインストールします。

JavaFXの8は、Mavenの依存関係として利用できますか?

ない私が知っています!

私のアドバイス.. 使用のOracle JDKあなたがJava8を使用するか、Javaの11にアップグレードし、Mavenの依存関係としてopenJFXを使用する場合。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=182296&siteId=1