web-dev-qa-db-ja.com

インポートjavafxを解決できません

私はEclipse IDEを今日Ubuntu Linuxにインストールし、「新しいソフトウェアのインストール」を使用してJavaFXをインストールしました。javafxプロジェクトを作成すると、Main.Javaで次のエラーが発生しました。

インポートjavafxを解決できません。

そこで、「jfxrt.jar」を検索するために次のディレクトリをリストしました。

ls -l /usr/lib/jvm/Java-8-openjdk-AMD64/jre/lib/ext

しかし、「jfxrt.jar」が見つかりませんでした。

Java -version

出力:

openjdkバージョン "1.8.0_45-internal"

OpenJDKランタイム環境(ビルド1.8.0_45-internal-b14)

OpenJDK 64ビットサーバーVM(ビルド25.45-b02、混合モード)

9
Farouk Sabry

パッケージリストUbuntu Vividによると、openjfxという名前のパッケージがあります。これはあなたが探しているものの候補になるはずです:

JavaFX/OpenJFX 8-Java用のリッチクライアントアプリケーションプラットフォーム

次の方法でインストールできます。

Sudo apt-get install openjfx

UbuntuシステムのOpenJDKインストールに 次のJARファイル を提供します。

/usr/lib/jvm/Java-8-openjdk-AMD64/jre/lib/ext/jfxrt.jar
/usr/lib/jvm/Java-8-openjdk-AMD64/jre/lib/jfxswt.jar
/usr/lib/jvm/Java-8-openjdk-AMD64/lib/ant-javafx.jar
/usr/lib/jvm/Java-8-openjdk-AMD64/lib/javafx-mx.jar

お役に立てれば。

17
MWiesner

Ubuntu LinuxMavenを設定する方法は次のとおりです。

1)OpenJFXパッケージをインストールし、ファイルを配置した場所を確認します。

      Sudo apt install openjfx
      dpkg-query -L openjfx

最終的にJDK 11のバージョンになる可能性があります。その場合は、新しいOpenJDKをインストールするか、JDK 8のOpenJFXのバージョンを設定します。

2)systemスコープの依存関係としてMavenプロジェクトに配置します。

これは怠惰で、あまり良くない方法です。適切には、次のようにjarをインストールする必要があります。

dpkg-query -L openjfx | grep -E '.jar$' | xargs -l -I{} \
  mvn install:install-file -Dfile="{}" -DgroupId=javafx \
    -DartifactId=$(echo $JAR | tr '.' '-') -Dversion=1.0 -Dpackaging=jar

そして、それを通常のcompile-scoped依存関係として使用します。

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.source.level>1.8</project.source.level>
    <project.target.level>1.8</project.target.level>

    <javafx.dir>/usr/share/openjfx/lib</javafx.dir>
</properties>

<dependencies>

    <!-- JavaFx :
      Sudo apt install openjfx
      dpkg-query -L openjfx
    -->
    <dependency>
        <groupId>javafx</groupId>
        <artifactId>javafx-base</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${javafx.dir}/javafx.base.jar</systemPath>
    </dependency>
    <dependency>
        <groupId>javafx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${javafx.dir}/javafx.controls.jar</systemPath>
    </dependency>
    <dependency>
        <groupId>javafx</groupId>
        <artifactId>javafx-fxml</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${javafx.dir}/javafx.fxml.jar</systemPath>
    </dependency>
    <dependency>
        <groupId>javafx</groupId>
        <artifactId>javafx-graphics</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${javafx.dir}/javafx.graphics.jar</systemPath>
    </dependency>
    <dependency>
        <groupId>javafx</groupId>
        <artifactId>javafx-media</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${javafx.dir}/javafx.media.jar</systemPath>
    </dependency>
    <dependency>
        <groupId>javafx</groupId>
        <artifactId>javafx-swing</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${javafx.dir}/javafx.swing.jar</systemPath>
    </dependency>
    <dependency>
        <groupId>javafx</groupId>
        <artifactId>javafx-web</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${javafx.dir}/javafx.web.jar</systemPath>
    </dependency>

</dependencies>
1
Ondra Žižka

Javaコンパイラ8以上の場合は、次のようにします。

  1. プロジェクトを右クリック
  2. ビルドパスを選択---->ライブラリを追加

次に、以下のスクリーンショットが表示されます。

Choose a JDK 8 or above

JDK 8以上をダウンロードしてインストールしたことを確認します

終了ボタンを押すと、コード内のすべてのJava FXエラーが消えます。

注前提条件:

NetBeans 8.0.1にJDK 9をインストールしてテスト

0
Mark Burleigh

A)1.8などの互換性のあるJDKを使用していることを確認し、かつ

B)Eclipse Project Facetsで互換性のあるバージョンのJavaを構成します。

  1. Javaプロジェクトを右クリックし、[プロパティ]を選択します
  2. Project Facetsを選択し、Javaを見つけ、バージョン1.8を設定します

Java 11の場合、JavaFXがJava 11から削除され、スタンドアロンとして提供されるため、このエラーも表示されます。

詳細: https://blogs.Oracle.com/Java-platform-group/the-future-of-javafx-and-other-Java-client-roadmap-updates