java在使用JavaFX在IntelliJ上创建Jar文件时遇到问题
最近我一直在做我的一个个人项目,我决定使用JavaFX。我使用的IDE是IntelliJ IDEA,我很头疼如何用它制作一个罐子。我试过很多教程,但似乎都不管用。如果有人能告诉我出了什么问题,我将不胜感激
首先,我尝试在projectstructure选项卡上包含所有依赖项,并构建工件 需要
https://i.stack.imgur.com/zk2js.png
生成的Jar文件不工作,当我尝试运行它时,会出现以下错误:
Error: JavaFX runtime components are missing, and are required to run this application
尽管这个罐子很没用,但我找到了一种让它“工作”的方法,我在cmd上运行了以下命令
java --module-path "%Path to JavaFX SDK%" --add-modules javafx.controls,javafx.fxml -jar %Path to Jar%
所以我决定搜索可能缺少的内容,并尝试了几种解决方案,但都不起作用,其中一种是尝试创建一个虚拟类,该类没有将应用程序扩展为主类,但这会导致灾难,因为我得到了以下结果:
Graphics Device initialization failed for : d3d, 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)
我甚至试图用手来做这一切,因为我怀疑IntelliJ省略了步骤,不用说也没有好的结局。我还将在项目结构中留下一些印刷品,希望有助于理解问题所在
https://i.stack.imgur.com/zk2js.png
https://i.stack.imgur.com/lCoWl.png
https://i.stack.imgur.com/SUqHd.png
https://i.stack.imgur.com/wWv1f.png
https://i.stack.imgur.com/GXtc6.png
https://i.stack.imgur.com/CQjMO.png
https://i.stack.imgur.com/BQeuu.png
共 (0) 个答案