首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >由netbeans创建的.Jar文件在windows上不再打开

由netbeans创建的.Jar文件在windows上不再打开
EN

Stack Overflow用户
提问于 2011-03-27 06:55:59
回答 3查看 2.2K关注 0票数 0

由于某些原因,当我在NetBeans上使用“清理并构建”并尝试从dist文件夹运行它时,我的应用程序停止工作。应用程序过去通常从jar文件打开,但现在它只会闪烁,甚至不会给出任何错误消息。如果我使用NetBeans在F6中测试运行应用程序,它就会运行。Jar文件是由NetBeans创建的,所以我猜清单应该没问题。

Here's jar文件的链接...

EN

回答 3

Stack Overflow用户

发布于 2011-03-27 10:40:01

在终端中执行jar会给出以下异常跟踪:

代码语言:javascript
运行
复制
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)

所以看起来你在这里有这样的东西:

代码语言:javascript
运行
复制
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是区分大小写的,这意味着您必须准确地按照文件的命名来命名资源。

是的,通常你至少应该亲自尝试过你的程序,并发布堆栈跟踪和相关的代码行。

票数 2
EN

Stack Overflow用户

发布于 2011-03-27 10:39:12

  • dist目录中可能有lib文件夹。如果是这样的话,它就包含了您所包含的任何库的jar文件。确保情况就是这样。您需要分发jar以及整个lib文件夹,并将它们存储在相同的文件夹中,就像Netbeans创建它们一样。
票数 0
EN

Stack Overflow用户

发布于 2018-04-21 16:49:58

在清理和运行之前没有定义主类时的典型错误。

右键单击项目的->属性->run部分->define主类。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5445904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档