我知道有很多线程可以解决这个问题,但我仍然很愚蠢地解决了这个问题..
我通过以下方式加载我的图像:
ImageIO.read(new File(this.getClass().getResource("../" + src).toString().substring(5)));
我在一些线程(德语)中读到,使用这种方法可以从 jar 加载图像,但也可以从 eclipse 中正确运行它。但无论如何,当我试图打开罐子时,我得到了这个错误:
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
Caused by: java.lang.NullPointerException
at game.Sound.<init>(Sound.java:17)
at game.GUI.<init>(GUI.java:34)
at game.GUI.main(GUI.java:115)
... 5 more
我从控制台运行它: java -jar CastleNightmare.jar
我做错了什么?
谢谢!