ホームページ >Java >&#&チュートリアル >JavaFX 11 アプリケーションの実行時に JavaFX メディア モジュール エラーを解決するにはどうすればよいですか?

JavaFX 11 アプリケーションの実行時に JavaFX メディア モジュール エラーを解決するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-20 17:49:12475ブラウズ

How to Resolve JavaFX Media Module Errors When Running a JavaFX 11 Application?

JavaFx メディア アプリケーション実行時のモジュール エラー

問題:

で提供されるコマンドを使用して JavaFX 11 アプリケーションを実行するとき質問ですが、javafx.media と javafx.graphics のクラス間の不正なアクセスに関連するエラーが発生しました。 modules.

解決策:

エラーを解決してアプリケーションを正常に実行するには、アプリケーションの起動時に javafx.media モジュールが名前付きモジュールとして解決されていることを確認してください。これは、次のいずれかの方法で実行できます。

1. --add-modules 引数にモジュールを含めます:

--add-modules 引数に追加モジュールとして javafx.media を含めるようにコマンドを変更します:

/usr/lib/jvm/java-11-openjdk-amd64/bin/java 
-p ~/.m2/repository/org/openjfx/javafx-swing/11/javafx-swing-11.jar:
~/.m2/repository/org/openjfx/javafx-swing/11/javafx-swing-11-linux.jar:
~/.m2/repository/org/openjfx/javafx-graphics/11/javafx-graphics-11.jar:
~/.m2/repository/org/openjfx/javafx-graphics/11/javafx-graphics-11-linux.jar:
~/.m2/repository/org/openjfx/javafx-base/11/javafx-base-11.jar:
~/.m2/repository/org/openjfx/javafx-base/11/javafx-base-11-linux.jar:
~/.m2/repository/org/openjfx/javafx-controls/11/javafx-controls-11.jar:
~/.m2/repository/org/openjfx/javafx-controls/11/javafx-controls-11-linux.jar:
~/.m2/repository/org/openjfx/javafx-media/11/javafx-media-11.jar:
~/.m2/repository/org/openjfx/javafx-media/11/javafx-media-11-linux.jar 
--add-modules javafx.controls,**javafx.media**
-classpath ...

2.独自のコードをモジュール化します:

次の内容を含む module-info.java ファイルをプロジェクト ディレクトリに作成します:

module my.application {
    requires javafx.controls;
    requires javafx.media;

    // Replace with your Application class' package
    exports com.example.myapp to javafx.graphics;
}

その後、起動します--module 引数を使用してアプリケーションにカスタムを指定しますモジュール:

/usr/lib/jvm/java-11-openjdk-amd64/bin/java 
--module my.application
--add-modules javafx.base,javafx.graphics,javafx.controls
-classpath ...

3. JavaFX を含む JDK を使用する:

BellSoft Liberica や Azul Zulu などの JavaFX を含む JDK をダウンロードし、それを使用してアプリケーションを実行します。

追加の注意事項:

  • 両方の JavaFX JAR ファイルを配置しないことをお勧めしますと JavaFX モジュールをクラスパス上に同時に追加します。これにより、質問で説明されているエラーが発生する可能性があります。
  • モジュラー コードに変更した後にシンボルの欠落に関連するコンパイル エラーが発生した場合は、最新の Java Development Kit (JDK) がインストールされていることを確認してください。
  • モジュール性と Java Platform Module System の詳細については、JavaFX ドキュメントを参照してください。 https://openjfx.io/javadoc/11/javadoc/index.html

以上がJavaFX 11 アプリケーションの実行時に JavaFX メディア モジュール エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。