
JavaFX 警告: サポートされていない JavaFX 構成: '名前のないモジュール @...' からロードされたクラス
問題:
JavaFX をインストールして実行すると、「サポートされていない JavaFX 構成: クラスは次からロードされました」という警告が表示されます。 'unnamed module @...'."
Background:
この警告は、Java 9. JavaFX での Java Platform Module System (JPMS) の導入に起因します。モジュールは、モジュールパスではなくモジュールパスから「名前付きモジュール」としてロードする必要があります。 class-path.
解決策:
これを解決するには:
- JavaFX がモジュール パス上にあることを確認します: --module-path オプションを使用して JavaFX をモジュール パスに追加します。
- JavaFX を名前付きで解決しますモジュール: 非モジュール型アプリケーションの場合、 --add-modules オプションを使用して、Java に JavaFX モジュールを名前付きモジュールとして解決させます。
- モジュール型アプリケーション: --module を使用します。 module-info 記述子に適切な require ディレクティブを使用してアプリケーションをモジュールとして起動するオプション。
- JDK ディストリビューションを使用するJavaFX: JavaFX を名前付きモジュールとして自動的にロードするには、BellSoft Liberica JDK や Azul Zulu JDK などの JavaFX を含む JDK ディストリビューションをインストールします。
- 警告は無視してください: JavaFX 時点21、警告を無視することもできますが、サポートされていない構成を使用すると、将来的に問題が発生する可能性があります。問題。
デプロイメント:
- クライアントに JavaFX を備えた JRE が必要である: クライアントに JavaFX がインストールされた JRE があることを確認する.
- 自己完結型アプリケーションの配布: jlink やネイティブ イメージなどのツールを使用してアプリケーション、ライブラリ、JRE をバンドルする自己完結型アプリケーション。
- 実行可能「ファット」JAR ファイル: JavaFX とすべての依存関係を実行可能 JAR に埋め込むファイル。ただし、このアプローチは名前のないモジュールから JavaFX をロードするため、暗黙的にサポートされていません。