找不到javafx.controls JavaFX 11 / JDK 11.0.1

Mah*_*Boi 6 java sdk javafx openjfx javafx-11

我正在使用InteliJ,已经研究了似乎对其他所有人都适用的所有其他解决方案。我收到一个错误:

Caused by: java.lang.IllegalAccessError: class com.sun.javafx.fxml.FXMLLoaderHelper (in unnamed module @0x5782d366) cannot access class com.sun.javafx.util.Utils (in module javafx.graphics) because module javafx.graphics does not export com.sun.javafx.util to unnamed module @0x5782d366
Run Code Online (Sandbox Code Playgroud)

然后,将以下内容添加到运行配置中的VM选项:

--module-path="C:\Users\mresp_000\Desktop\Business\Code\SDKS\javafx-sdk-11.0.1\lib" \ 
    --add-modules=javafx.controls \
    --add-exports=javafx.graphics/com.sun.javafx.util=ALL-UNNAMED \
    --add-exports=javafx.base/com.sun.javafx.reflect=ALL-UNNAMED \
    --add-exports=javafx.base/com.sun.javafx.beans=ALL-UNNAMED \
    --add-exports=javafx.graphics/com.sun.glass.utils=ALL-UNNAMED \
    --add-exports=javafx.graphics/com.sun.javafx.tk=ALL-UNNAMED
Run Code Online (Sandbox Code Playgroud)

那似乎可以部分解决问题?但是,当我尝试运行此代码时,我没有得到完整的堆栈错误痕迹,我得到了以下三行:

"C:\Program Files\Java\jdk-11.0.1\bin\java.exe" \
    --module-path=C:\Users\mresp_000\Desktop\Business\Code\SDKS\javafx-sdk-11.0.1\lib \
    --add-modules=javafx.controls,javafx.fxml \
    --add-exports=javafx.graphics/com.sun.javafx.util=ALL-UNNAMED \
    --add-exports=javafx.base/com.sun.javafx.reflect=ALL-UNNAMED \
    --add-exports=javafx.base/com.sun.javafx.beans=ALL-UNNAMED \
    --add-exports=javafx.graphics/com.sun.glass.utils=ALL-UNNAMED \
    --add-exports=javafx.graphics/com.sun.javafx.tk=ALL-UNNAMED \
    --add-modules javafx.base,javafx.graphics \
    --add-reads javafx.base=ALL-UNNAMED \
    --add-reads javafx.graphics=ALL-UNNAMED \
    "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3\lib\idea_rt.jar=60572:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3\bin" \
    -Dfile.encoding=UTF-8 \
    -classpath C:\Users\mresp_000\Desktop\Business\Code\VirtualBeats\out\production\VirtualBeats;\
        C:\Users\mresp_000\Desktop\Business\Code\SDKS\javafx-sdk-11.0.1\lib\src.zip;\
        C:\Users\mresp_000\Desktop\Business\Code\SDKS\javafx-sdk-11.0.1\lib\javafx-swt.jar;\
        C:\Users\mresp_000\Desktop\Business\Code\SDKS\javafx-sdk-11.0.1\lib\javafx.web.jar;\
        C:\Users\mresp_000\Desktop\Business\Code\SDKS\javafx-sdk-11.0.1\lib\javafx.base.jar;\
        C:\Users\mresp_000\Desktop\Business\Code\SDKS\javafx-sdk-11.0.1\lib\javafx.fxml.jar;\
        C:\Users\mresp_000\Desktop\Business\Code\SDKS\javafx-sdk-11.0.1\lib\javafx.media.jar;\
        C:\Users\mresp_000\Desktop\Business\Code\SDKS\javafx-sdk-11.0.1\lib\javafx.swing.jar;\
        C:\Users\mresp_000\Desktop\Business\Code\SDKS\javafx-sdk-11.0.1\lib\javafx.controls.jar;\
        C:\Users\mresp_000\Desktop\Business\Code\SDKS\javafx-sdk-11.0.1\lib\javafx.graphics.jar \
    -p C:\Users\mresp_000\Desktop\Business\Code\SDKS\javafx-sdk-11.0.1\lib\javafx.base.jar;\
        C:\Users\mresp_000\Desktop\Business\Code\SDKS\javafx-sdk-11.0.1\lib\javafx.graphics.jar \
    virtualbeats.Main
Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx.controls not found

Process finished with exit code 1
Run Code Online (Sandbox Code Playgroud)

当我仅将以下内容放入VM选项时,会出现相同的错误:

--module-path="C:\Users\mresp_000\Desktop\Business\Code\SDKS\javafx-sdk-11.0.1\lib"
--add-modules=javafx.controls,javafx.fxml
Run Code Online (Sandbox Code Playgroud)

这是我的运行选项的图片(我已勾选并取消勾选了“包括提供的作用域的依赖项”框,但均无效。

库指向正确的位置,我尝试重建项目,但没有任何效果。当我转到命令行并键入:

dir "C:\Users\mresp_000\Desktop\Business\Code\SDKS\javafx-sdk-11.0.1\lib"
Run Code Online (Sandbox Code Playgroud)

我得到以下输出: cmd的输出

因此,那里的一切都是事实,并指向它需要指向的确切位置。将.jar扩展名添加到add-module也不起作用。

小智 1

尝试:

--module-path C:\Users\mresp_000\Desktop\Business\Code\SDKS\javafx-sdk-11.0.1\lib --add-modules=ALL-MODULE-PATH
Run Code Online (Sandbox Code Playgroud)

作为 Runconfiguration,我不知道,也许它有效?


归档时间:

查看次数:

4634 次

最近记录:

7 年,3 月 前