ホームページ >Java >&#&チュートリアル >コンパイルは成功したにもかかわらず、「サポートされていない JavaFX 構成」という警告が表示されるのはなぜですか?

コンパイルは成功したにもかかわらず、「サポートされていない JavaFX 構成」という警告が表示されるのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-31 18:34:29389ブラウズ

 Why Am I Getting an

JavaFX 警告: サポートされていない構成

JavaFX を使用する場合、「サポートされていない JavaFX 構成: クラスは次からロードされました」という警告が表示される場合があります。コンパイルは成功したにもかかわらず、「名前のないモジュール @...」。この警告は、Java 9 で導入されたモジュール システムが原因で発生し、JavaFX のロード方法に影響します。

問題の理解

JavaFX は、クラスパスではなくモジュールパス。ただし、JavaFX がクラスパスからロードされたことがシステムによって検出されると、この警告がトリガーされます。

解決策

この問題を解決するには、次のことを確認する必要があります。 JavaFX は、モジュールパスから名前付きモジュールとしてロードされます。これはいくつかの方法で実行できます:

  1. 非モジュール型アプリケーション: --module-path および --add-modules 引数を使用します:

    java --module-path <path-to-fx> --add-modules javafx.controls ...
  2. モジュラー アプリケーション: --module 引数を使用して、アプリケーションをモジュールとして起動します:

    java --module-path <path> --module app/com.example.app.Main [args...]
  3. 使用JavaFX を使用した JDK ディストリビューション: BellSoft Liberica JDK や Azul Zulu JDK など、デフォルトで JavaFX を含む Java バージョンを使用します。
  4. 警告を無視します:現時点では機能上の問題は発生していないため、警告が表示されます。このアプローチは推奨されないことに注意してください。

デプロイメント

デプロイメントでは、次のオプションを検討できます:

  • JavaFX のインストール済み JRE が必要: クライアントに JavaFX がインストールされた互換性のある JRE があることを確認します。
  • 自己完結型アプリケーション: 必要なすべての依存関係とバンドルされた JRE を使用してアプリケーションをパッケージ化します。
  • 実行可能 JAR: JavaFX およびその他の依存関係を実行可能 JAR ファイルに埋め込みます。

追加メモ

  • デフォルトでは、JavaFX はメインクラスが javafx.application.Application のサブタイプである必要があります。
  • JavaFX が名前のないモジュールからロードされる場合、メインクラスを javafx.application.Application のサブタイプにすることはできません。

以上がコンパイルは成功したにもかかわらず、「サポートされていない JavaFX 構成」という警告が表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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