Rumah >Java >javaTutorial >Bagaimana untuk Menyelesaikan Ralat Modul Media JavaFX Semasa Menjalankan Aplikasi JavaFX 11?

Bagaimana untuk Menyelesaikan Ralat Modul Media JavaFX Semasa Menjalankan Aplikasi JavaFX 11?

DDD
DDDasal
2024-12-20 17:49:12562semak imbas

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

Ralat modul semasa menjalankan aplikasi media JavaFx

Masalah:

Apabila menjalankan aplikasi JavaFX 11 dengan arahan yang disediakan dalam soalannya, ralat ditemui berkaitan dengan akses haram antara kelas dalam javafx.media dan javafx.graphics modul.

Penyelesaian:

Untuk menyelesaikan ralat dan menjalankan aplikasi dengan jayanya, pastikan modul javafx.media diselesaikan sebagai modul bernama semasa pelancaran aplikasi. Ini boleh dicapai melalui salah satu kaedah berikut:

1. Sertakan Modul dalam Argumen --add-modules:

Ubah suai arahan untuk memasukkan javafx.media sebagai modul tambahan dalam argumen --add-modules:

/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. Jadikan Kod Anda Sendiri Modular:

Buat fail module-info.java dalam direktori projek anda dengan kandungan berikut:

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

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

Kemudian, lancarkan aplikasi anda dengan argumen --module untuk menentukan modul tersuai anda:

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

3. Gunakan JDK yang Termasuk JavaFX:

Muat turun JDK yang termasuk JavaFX, seperti BellSoft Liberica atau Azul Zulu dan gunakannya untuk menjalankan aplikasi anda.

Nota Tambahan :

  • Adalah disyorkan untuk mengelak daripada meletakkan kedua-dua fail JavaFX JAR dan modul JavaFX pada classpath secara serentak. Ini boleh membawa kepada ralat yang diterangkan dalam soalan.
  • Jika anda menghadapi ralat kompilasi yang berkaitan dengan simbol yang hilang selepas menukar kepada kod modular, pastikan anda telah memasang Java Development Kit (JDK) terkini.
  • Rujuk dokumentasi JavaFX untuk maklumat lanjut tentang modulariti dan Sistem Modul Platform Java: https://openjfx.io/javadoc/11/javadoc/index.html

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat Modul Media JavaFX Semasa Menjalankan Aplikasi JavaFX 11?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn