ホームページ >Java >&#&チュートリアル >JavaFXメディアモジュールの競合とIllegalAccessErrorを解決するにはどうすればよいですか?

JavaFXメディアモジュールの競合とIllegalAccessErrorを解決するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-20 16:29:11775ブラウズ

How to Resolve JavaFX Media Module Conflicts and IllegalAccessError?

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 モジュールが同じでないことを確認してください。クラスパスに含まれています。
  • Maven を使用している場合は、 pom.xml.
内の依存関係としての javafx.media モジュール

以上がJavaFXメディアモジュールの競合とIllegalAccessErrorを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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