JavaFX メディア アプリケーション モジュール エラー
質問:
JavaFX 11 アプリケーションを実行するとき、モジュールが原因でエラーが発生する競合:
java.lang.IllegalAccessError: class com.sun.media.jfxmediaimpl.NativeMediaManager (in unnamed module @0x4d7be377) cannot access class com.sun.glass.utils.NativeLibLoader (in module javafx.graphics) because module javafx.graphics does not export com.sun.glass.utils to unnamed module @0x4d7be377
回答:
このエラーは、JavaFX メディア モジュールがモジュールとして適切に解決されていないため、競合が発生していることを示しています。これを解決するには、javafx.media モジュールがモジュール パスに含まれていることを確認します。
モジュールの競合を解決する 3 つの方法:
1. --add-modules:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java \ -p ~/.m2/repository/org/openjfx/javafx-swing/11/javafx-swing-11.jar: \ ... \ -classpath ~/development/intellij/OpenPatrician/OpenPatricianStandalone/target/classes: \ ... \ --add-modules javafx.controls,javafx.media
2 に javafx.media を含めます。コードをモジュール化して、requires javafx.media; を追加します。モジュール記述子に追加します。
3. JavaFX を含む JDK (BellSoft Liberica や Azul Zulu など) を使用します。
追加の注意事項:
以上がJavaFXメディアモジュールの競合とIllegalAccessErrorを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。