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

jar未运行JavaFX-ecliipse

江英卓
2023-03-14

JFX版本-javafx-sdk-13.0.2:增加了环境变量和路径变量

Eclipse Version-2019-12-R:e(fx)clipse插件安装:scene builder

OS-Windows 10

对于单独的项目,我仍然必须将新的用户库添加到“类路径”中,所以要这样做,我:右键单击Project folder>Properties>Java Build Path>Libraries>删除默认的JavaFX SDK文件夹(不包含.jar文件)>add new library>user library>选择我创建的包含.jar的JavaFX库。此时,我可以在IDE中调试和运行任何Javafx。

这两个测试用例都只是300x300 box的基本构建,没有其他组件在其中(在试图解决这个问题之前毁了整个项目)。它们之间的区别只是1包含一个模块-info.java(在创建project时创建了一个模块)。模块-info.java包含:

module testing {
    exports application;
    requires javafx.graphics;
    requires javafx.base;
    requires javafx.controls;
    requires javafx.fxml;
    requires javafx.media;
    requires javafx.swing;
    requires javafx.swt;
    requires javafx.web;
}

另一个“testing2”没有模块-info.java,并且在项目创建时没有创建模块(未选中的框)。当我试图使用Runnable Jar选项“导出”它们中的任何一个时,然后“将所需的库提取到生成的Jar中”,它导出时出现以下错误:重复条目:module-info.class。因为“Testing2”不应该有任何模块,所以这是令人困惑的?如果我使用“Package required libraries into generated JAR”导出,则在导出时不会出现任何错误,但是单击时。jar文件本身会打开cmd框约0.5秒,然后关闭,不做任何其他操作。如果我在导出时为库使用一个单独的文件夹,也是如此。试图从命令行打开,我得到“无法访问Jarfile\path\jar.jar”,然后如果我以管理员身份打开cmd,我得到“缺少Javafx运行时组件”&&我得到了

`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:244)
        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:830)
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.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:567)
        at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:61)
Caused by: 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)`enter code here`
        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:830)

现在,在我找到的一些答案中,我唯一不能完全测试的是“清单”。到目前为止,我的印象是eclipse会自动创建一个,当我在导出时选择启动配置时,我是在用我的主类选择入口点。我也无法访问一个,当我搜索如何在eclipse中创建一个时,everyones的答案是“eclipse自动为您完成它”,或者使用的是一个5年以上的版本,我有屏幕步骤,而在最新版本的IDE中根本没有。如果有人能给我一些关于这里实际上可能出问题的见解,我将非常感谢。谢谢!

共有1个答案

云欣嘉
2023-03-14

好吧,我已经想通了(至少对我来说)。我希望这对将来的任何人都有帮助。因此,我进入命令提示符,将目录更改为。jar文件所在的目录

cd path\to\file.jar

为了方便起见,我将其保存到桌面,这样看起来像CD desktop

接下来,我通过以下方式设置JavaFx的路径

set PATH_TO_FX="path\to\JavaFX\lib"
java -jar --module-path %PATH_TO_FX% --add-modules javafx.controls,javafx.fxml Testing.jar
 类似资料:
  • 第一次使用cron作业,我在linux上相对较新,我似乎无法让它工作,如果我只是在命令行中手动运行它,它工作得很好,但不是作为cron作业。 我是这样设置的: 合同-e 插入模式 */3****root(cd/home/ec2 user/;java-jar-feedPuller-1.jar)(每3分钟测试一次) 保存并退出 它说它已经创建了一个新的cron作业选项卡 现在,当我做crontab-l

  • 在一个项目中,我们将Hibernate与HikariCP结合使用,并且在Eclipse中一切都很好。但一旦我生成了一个jar文件(Maven),就再也找不到hikaricp了。我已经从各个可能的角度考虑了这个问题,但我无法找出问题所在。。。 坚持不懈xml 波姆。xml 如果我在Eclipse中运行此功能,则一切正常: 01:14:05,436信息HikariDataSource: 70-Hika

  • 我有一个简单的Java项目,它有一个文件输入。Java语言输入代码。java是这样的- 现在,我已经通过导出在Eclipse中创建了一个可执行的jar文件- 现在,当我尝试通过命令提示符打开它时,它工作得非常好。 但是,当我双击runnable jar文件时,我希望打开命令提示符。这里有什么问题? 谢谢

  • 我试图在Windows上用IntelliJ IDEA Ultimate中的JavaFX运行Gradle项目。JavaFX是在我们最新的Git push中添加的,在它开始工作之前。 JDK 11.0.5(来自Oracle站点,不是openJDK),我使用的是Java11,都在IntelliJ中配置 JDK安装目录(特别是/bin目录)添加到我的路径 JDK安装目录中添加的java_home环境变量

  • 我正在用IntelliJ开发一个小型JavaFX应用程序。 我已经用Intellij工件将它编译成一个jar,它在windows中可以很好地工作,无论是从命令行还是双击jar。 应用程序需要整天运行,我选择使用覆盆子,因为我认为这是最便宜的方式。 我在Raspbian上安装了它,来自Oracle的JDK 8 Oracle网站上的最后一个ARM版本 JVM正在工作,并使用显示正确的版本。我假设安装是

  • 我已经从spring入门指南下载了源代码(zip文件):http://spring.io/guides/gs/rest-service/ 在文件夹“Complete”中生成整个项目已成功。使用Gradle(Gradle run)运行生成的jar文件也是成功的。但当我尝试在Windows命令行中使用“java-jar build\libs\gs-rest-service-0.1.0.jar”手动运行