首頁 >Java >java教程 >如何修復 Java 9 中的 JavaFX 媒體應用程式模組錯誤?

如何修復 Java 9 中的 JavaFX 媒體應用程式模組錯誤?

Linda Hamilton
Linda Hamilton原創
2024-12-12 14:00:16827瀏覽

How to Fix JavaFX Media Application Module Errors in Java 9 ?

執行JavaFx 媒體應用程式時出現模組錯誤

嘗試執行JavaFX 11 應用程式時,出現下列錯誤訊息:

Exception in thread "JavaFX Application Thread" 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

此錯誤源自於Java 9.JavaFX 中引入的Java模組系統的更改,其中以前是 Java 運行時環境的一部分,現在作為一組模組分發。

要解決此問題,請確保正確解析 javafx.media 模組。這可以透過以下方式實現:

  • 將javafx.media 加入到--add-modules:指定--add-modules javafx.controls,javafx.graphics,javafx. media 時啟動應用程式。
  • 使程式碼模組化:建立模組描述符(module-info.java) 並指定需要javafx.controls;並且需要javafx.media;.
  • 使用包含JavaFX 的JDK:某些JDK 發行版,例如BellSoft Liberica 或Azul Zulu,包含OpenJFX 模組。

如果您選擇使用第三種方法,請注意主類別不應擴充Application,並且必須建立一個單獨的啟動器類別來初始化JavaFX。

此外,確保 JavaFX 依賴項不放置在類別路徑上也很重要,因為這可能會導致模組解析問題。相反,請將它們包含在模組路徑中或使用模組化方法。

以上是如何修復 Java 9 中的 JavaFX 媒體應用程式模組錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn