当前位置: 首页 > 知识库问答 >
问题:

从jar生成的exe文件不在windows中运行[重复]

商弘义
2023-03-14

我在windows中使用jpackager生成了一个exe文件,当我安装并尝试运行它时,会生成此错误。

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 javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(Unknown Source)
        at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.init(Unknown Source)
        at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Unknown Source)
        at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(Unknown Source)
        at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(Unknown Source)
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(Unknown Source)
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(Unknown Source)
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(Unknown Source)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at java.base/sun.launcher.LauncherHelper$FXHelper.main(Unknown Source)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
        at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(Unknown Source)
        at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(Unknown Source)
        at java.base/java.lang.Thread.run(Unknown Source)
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at java.base/sun.launcher.LauncherHelper$FXHelper.main(Unknown Source)
Caused by: java.lang.RuntimeException: No toolkit found
        at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Unknown Source)
        at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(Unknown Source)
        at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(Unknown Source)
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(Unknown Source)
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(Unknown Source)
        at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(Unknown Source)
        ... 5 more

关于如何解决这个问题的任何想法都将非常感谢这就是我生成exe文件的方式

jpackage -t exe --name "wetu" --app-version 1.0 --input "C:\Users\home\Documents\Andrew\Projects\Java\WetuLantern\dist" --dest "C:\Users\home\Documents\Andrew\wetu-exe" --main-jar "WetuLantern.jar" --icon "C:\Users\home\Documents\Andrew\icon.ico" --module-path "C:\Users\home\Downloads\Compressed\javafx-jmods-16" --add-modules javafx.controls,javafx.graphics,javafx.fxml,javafx.base  --win-shortcut --win-menu --win-console

共有1个答案

万俟飞语
2023-03-14

按照此回答中的概述,使用win console激活Windows控制台。这允许您识别错误消息

其次,安装程序不会在每次构建后升级之前的安装,除非您每次都增加--app-version或在安装新副本之前取消安装之前的副本。

 类似资料:
  • 我创建了一个使用GUI的小型Java应用程序,我的几个有Windows的朋友让我把它发送给他们。我希望尽可能避免安装等步骤。。。,所以我想知道哪种方式最好。 所以我从NetBeans构建了. jar,当我运行它时,它运行得非常好。从那时起,我试图为Windows生成一个可移植的. exe文件,我可以发送它们,它们可以在没有任何先前步骤的情况下打开(前提是它们有一个JRE)。所以我下载了JSmth、

  • 问题内容: 我有一个巨大的JAR文件,是使用插件创建的。 我使用来运行它,并且UI随即打开。现在我要执行该文件,该文件也位于该JAR文件中,该怎么办? 我尝试将exe放到我的类路径中并从那里运行它,但尝试后发现类路径实际上是我的JAR所在的位置。 有什么建议? 在这里找到了这个东西,但这真的是最好的解决方案吗?似乎很多工作,我觉得这里有不同的情况,因为我可以自己定义exe的位置,而JAR是由我创建

  • 问题内容: 我正在通过Java程序执行exe。该路径是用Java硬编码的。 我已经把我的exe包装在罐子里。 但是由于我在Java文件中硬编码了路径名而感到困惑,因此我无法将jar作为独立程序执行。 是否有任何包装此类jar的提示,即内部具有exe并能够作为独立程序运行? 问题答案: 这会将提取.exe到本地磁盘上的本地文件。当Java程序存在时,该文件将被删除。

  • 我制作了一个小程序,只有一个类,我一直在尝试将它制作成一个小程序。jar文件。在Eclipse中,我右键单击文件夹- **注意:另外,如果我尝试在命令提示符中使用“javac”进行编译,它会说“javac不被识别为内部或外部命令、可操作程序或批处理文件”。

  • 问题内容: 我有一个名为helloworld.jar的JAR文件。为了运行它,我在命令行窗口中执行以下命令: 这可以正常工作,但是我如何双击执行它?我需要安装任何软件吗? 问题答案: 最简单的方法可能是升级或重新安装Java Runtime Environment(JRE)。 或这个: 打开Windows资源管理器,从“工具”中选择“文件夹选项…” 单击文件类型选项卡,向下滚动并选择JAR文件类型