由于某些原因,当我在NetBeans上使用“清理并构建”并尝试从dist文件夹运行它时,我的应用程序停止工作。应用程序过去通常从jar文件打开,但现在它只会闪烁,甚至不会给出任何错误消息。如果我使用NetBeans在F6中测试运行应用程序,它就会运行。Jar文件是由NetBeans创建的,所以我猜清单应该没问题。
Here's jar文件的链接...
发布于 2011-03-27 10:40:01
在终端中执行jar会给出以下异常跟踪:
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:155)
at tbs.ImageLoader.loadImage(ImageLoader.java:11)
at tbs.Flag.<init>(Flag.java:21)
at tbs.Model.<init>(Model.java:58)
at tbs.GameView.<init>(GameView.java:33)
at tbs.GUI.<init>(GUI.java:36)
at tbs.Main.main(Main.java:6)所以看起来你在这里有这样的东西:
public Image loadImage(String name) {
return new ImageIcon(getClass().getResource(name));
}..。getResource()方法返回null,这会导致ImageIcon构造函数抛出异常。
在Flag.java的第21行中,您使用"images/flagNeutral.png"作为图像字符串,但是您的jar文件包含images/flagneutral.png (在tbs目录中)。看到区别了吗?
如果它在jar之外的本地系统上工作,那么您在那里使用的是不区分大小写的文件系统。(Windows还是Mac?)在jar中,以及通过HTTP和“真实”文件系统,URL是区分大小写的,这意味着您必须准确地按照文件的命名来命名资源。
是的,通常你至少应该亲自尝试过你的程序,并发布堆栈跟踪和相关的代码行。
发布于 2011-03-27 10:39:12
发布于 2018-04-21 16:49:58
在清理和运行之前没有定义主类时的典型错误。
右键单击项目的->属性->run部分->define主类。
https://stackoverflow.com/questions/5445904
复制相似问题