运行.jar时发生Java错误,但Eclipse中没有

运行.jar时发生Java错误,但Eclipse中没有,java,eclipse,image,runtime-error,Java,Eclipse,Image,Runtime Error,当我试图以.jar文件的形式从桌面运行新完成的程序时,它在“请稍候…”屏幕上运行时会卡住,我必须指出我的程序仍在加载。同时,从EclipseIDE运行它,它工作得非常好!运行 java -jar C:\path\to\my\jar\file.jar 导致错误,如下所示: Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError at ... Caused by java.lang.NullP

当我试图以.jar文件的形式从桌面运行新完成的程序时,它在“请稍候…”屏幕上运行时会卡住,我必须指出我的程序仍在加载。同时,从EclipseIDE运行它,它工作得非常好!运行

java -jar C:\path\to\my\jar\file.jar
导致
错误
,如下所示:

Exception in thread "AWT-EventQueue-0" java.lang.ExceptionInInitializerError
    at ...
Caused by java.lang.NullPointerException
    at javax.swing.ImageIcon.<init>(ImageIcon.java:205)...
这是我的项目:


在Eclipse中,一切都运行得非常好,但是当我将它导出到.jar文件并使用
java-jar
运行它时,它会给我一个错误!有人能帮忙吗

检查所有图像是否都在jar中,并对资源路径使用正斜杠而不是反斜杠:

SomeClass.class.getResource("bird_animation/white1.png")

我假设这会影响所有图像,而不仅仅是一个?听起来像是类路径问题。。在Eclipse中,一切都被设置好了,当您将它导出到一个罐子中时,有些东西就误入歧途了。为了避免这个问题:你检查过罐子的内容吗?一切都在它应该在的地方吗?@U-No-Poo我刚刚在JD-GUI中反编译了.jar,一切似乎都在它应该在的地方,我要再次检查类路径…谢谢!问题在于前斜杠。我想知道为什么Eclipse认为它可以,而普通Java却不行?无论如何,它解决了问题:)嗨,关于输出,我有一个不同的场景。ClassLoader.getResource(subdir/readme.txt)和Class.getResource(/subdir/readme.txt)都让我在Eclipse中运行时获得了成功。但当从windows计算机上的可执行jar运行时,它们都返回NULL。这里有我遗漏的东西吗?
SomeClass.class.getResource("bird_animation/white1.png")