問題:
使用中提供的命令運行FX 11 應用程式時問題是,遇到與javafx.media 和javafx.graphics中的類別之間的非法存取相關的錯誤
要解決錯誤並成功運行應用程序,請確保在應用程式啟動期間將javafx.media 模組解析為命名模組。這可以透過以下方法之一來完成:
1.將模組包含在--add-modules 參數中:
修改命令以將javafx.media 作為附加模組包含在--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.使您自己的程式碼模組化:
在專案目錄中建立一個module-info.java 文件,其中包含以下內容:
module my.application { requires javafx.controls; requires javafx.media; // Replace with your Application class' package exports com.example.myapp to javafx.graphics; }
然後,啟動您的應用程式使用--module參數指定您的自訂模組:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java --module my.application --add-modules javafx.base,javafx.graphics,javafx.controls -classpath ...
3.使用包含JavaFX 的JDK:
下載包含JavaFX 的JDK,例如BellSoft Liberica 或Azul Zulu,並使用它來運行您的應用程式。
其他註解:
以上是如何解決執行 JavaFX 11 應用程式時的 JavaFX 媒體模組錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!