Ralat modul semasa menjalankan aplikasi media JavaFx
Ralat yang dihadapi semasa menjalankan aplikasi JavaFx adalah disebabkan oleh Java Platform Module System (JPMS) , yang telah diperkenalkan dalam Java 9. Sistem ini membahagikan kod Java kepada modul, setiap satu dengan set kebergantungan dan kebenaran.
Ralat khusus yang dihadapi ialah "java.lang.IllegalAccessError" yang menunjukkan bahawa kelas "com.sun.media.jfxmediaimpl.NativeMediaManager" (sebahagian daripada modul yang tidak dinamakan) tidak boleh mengakses "com.sun kelas .glass.utils.NativeLibLoader" (dalam modul javafx.graphics) kerana modul javafx.graphics melakukan tidak mengeksport pakej com.sun.glass.utils ke modul yang tidak dinamakan.
Untuk menyelesaikan ralat ini, pastikan modul javafx.media diselesaikan sebagai modul dengan menggunakan salah satu kaedah berikut:
Kaedah 1: Sertakan modul dalam --add-modules argumen:
--add-modules javafx.controls,javafx.media
Kaedah 2: Jadikan kod modular dan gunakan --module argument:
Buat deskriptor maklumat modul untuk kod anda (cth. , module-info.java):
module app { requires javafx.controls; requires javafx.media; exports com.example.app to javafx.graphics; // Replace with your application class's package }
Lancarkan aplikasi dengan --module hujah:
java --module app
Kaedah 3: Gunakan JDK yang termasuk JavaFX (tidak disyorkan):
Pasang JDK yang termasuk JavaFX (cth., OpenJDK dengan OpenJFX) .
Atas ialah kandungan terperinci Mengapa Aplikasi Media JavaFX Saya Membuang Ralat Modul, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!