Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MacOS ARM上的JavaFX:图形设备初始化失败_Java_Macos_Intellij Idea_Javafx_Macos Big Sur - Fatal编程技术网

MacOS ARM上的JavaFX:图形设备初始化失败

MacOS ARM上的JavaFX:图形设备初始化失败,java,macos,intellij-idea,javafx,macos-big-sur,Java,Macos,Intellij Idea,Javafx,Macos Big Sur,我在Intellij IDE内的MacBookM1上使用JavaFX。我的应用程序在Intellij中按预期构建和运行,但当我将应用程序构建到可执行jar中并从终端运行时,我收到错误: Graphics Device initialization failed for : es2, sw Error initializing QuantumRenderer: no suitable pipeline found java.lang.RuntimeException: java.lang.Run

我在Intellij IDE内的MacBookM1上使用JavaFX。我的应用程序在Intellij中按预期构建和运行,但当我将应用程序构建到可执行jar中并从终端运行时,我收到错误:

Graphics Device initialization failed for :  es2, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
    at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
    at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:222)
    at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
    at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
    at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
    at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
    at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
    ... 1 more
Exception in thread "main" java.lang.RuntimeException: No toolkit found
    at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
    at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
    at java.base/java.lang.Thread.run(Thread.java:832)
我已经找到了有关图形驱动程序问题的可能解决方案,但应用程序在IDE中运行良好的事实让我相信这不是问题所在(也没有一个解决方案是针对M1 MacBooks的)。如果需要任何其他信息,请让我知道!提前谢谢你

试试,在MacBook Pro 2020 M1上运行。 我也有同样的问题,在安装了LibericaFX的完整版本后,问题解决了

  • Liberica的完整版本包括LibericaFX,它基于OpenJFX和最小虚拟机(如适用)
  • 标准版最适合不需要任何附加组件的服务器和桌面部署
  • Liberica的Lite版本最适合于云部署,并针对大小进行了优化
也可在
自制

brew tap bell sw/liberica
brew安装liberica-jdk16-full

如何构建JAR文件?您用来启动JAR文件的命令是什么?文件>项目结构>工件,单击“+”,JAR>来自具有依赖项的模块。。。。我将我的主类作为与我的应用程序关联的主文件,然后单击Apply和OK。然后我进入Build>buildartifacts,选择我刚刚创建的工件并单击Build。我在终端中运行的命令是
java-jar Planner.java
您使用的是JavaFX SDK(或包含JavaFX的JDK),还是使用Maven Central的JavaFX jar文件?我使用的是JavaFX SDK 11.02问题是您的fat jar文件中没有包含本机代码。您有几个选择:(1)在从命令行执行应用程序时,不要构建胖JAR,只需指向JavaFX;(2) 使用发布到Maven Central的JavaFXJAR,因为它们嵌入了本机代码;(3) 使用
jlink
jpackage
打包您的应用程序(后者是在Java14中添加的工具)。对于这个选项,您需要使用JavaFX的JMOD文件(可以从Gluon下载,与您获得SDK的位置相同)。