无法加载资源Java sun_从jar运行时无法加载javafx资源

当我尝试使用IntelliJ IDEA构建和运行按钮运行时,该应用程序运行良好.但是,在将项目构建为可执行的javafx jar工件并尝试使用java -jar AppName.jar从命令行运行后,它显示以下错误:

Exception in Application start method

java.lang.reflect.InvocationTargetException

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:367)

at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:305)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:483)

at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)

Caused by: java.lang.RuntimeException: Exception in Application start method

at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:894)

at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:56)

at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:158)

at java.lang.Thread.run(Thread.java:745)

Caused by: java.lang.NullPointerException

at main.MainApplication.start(MainApplication.java:62)

at com.sun.javafx.application.LauncherImpl$8.run(LauncherImpl.java:837)

at com.sun.javafx.application.PlatformImpl$7.run(PlatformImpl.java:335)

at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:301)

at com.sun.javafx.application.PlatformImpl$6$1.run(PlatformImpl.java:298)

at java.security.AccessController.doPrivileged(Native Method)

at com.sun.javafx.application.PlatformImpl$6.run(PlatformImpl.java:298)

at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher`.java:95)

at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)

at com.sun.glass.ui.gtk.GtkApplication.access$200(GtkApplication.java:48)

at com.sun.glass.ui.gtk.GtkApplication$6$1.run(GtkApplication.java:149)

... 1 more

这是我从60到63行的代码

FXMLLoader fxmlLoader = new FXMLLoader();

URL resource = getClass().getResource("../ui/note_main.fxml");

InputStream inputStream = resource.openStream(); //THIS HERE IS THE NULLPOINTEREXCEPTION

Parent root = fxmlLoader.load(inputStream);

似乎资源在第二个ln上分配为null.我在加载过程中做错了吗?从jar可执行文件运行时,事情是否会有所不同?

提前致谢 !

解决方法:

Jar文件系统不支持..的相对路径-它可以在intellij,netbeans和eclipse中使用,因为您是从本地文件系统中加载的.

标签:javafx,intellij-idea,javafx-8,javafx-2,java

来源: https://codeday.me/bug/20191121/2052095.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值