【问题标题】:Netbeans Maven project runs in windows, but not in LinuxNetbeans Maven 项目在 Windows 中运行,但不在 Linux 中
【发布时间】:2018-02-08 14:56:42
【问题描述】:

我的学校小组有一个问题,即 Maven 项目在 Windows 中可以正常打开,但是当通过 GitHub 导入项目(完全相同的文件)时,程序会给出带有图像的 nullPointerException。该图像在项目中可用。该程序也会找到图像,因为如果您查看 GUI 构建器,图像是可见的。即使构建成功,也可以看到以下内容,但没有显示 GUI:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(ImageIcon.java:217)
at orfpred.GUI.initComponents(GUI.java:62)
at orfpred.GUI.<init>(GUI.java:21)
at orfpred.GUI$8.run(GUI.java:295)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

以及代码行

setIconImage(new javax.swing.ImageIcon(getClass().getResource("/orfpred.png")).getImage());

起初我认为这是一个反斜杠问题(windows 和 linux 切换这些),但那也不是问题。我尝试使用谷歌找到类似的问题,但到目前为止没有运气。

抱歉,如果我没有提供正确的信息,我对 Java 还是很陌生。学校的一项任务是我们必须构建的 GUI 在 windows 和 linux 中工作,所以这就是为什么它是一个重要的问题。此外,如果它在我的笔记本电脑上不起作用,我们将无法通过 GitHub 独立工作。

非常感谢:)

【问题讨论】:

  • 您确定文件名有效吗? Linux 文件系统区分大小写。
  • 哇......谢谢......我一直在寻找所有明显的东西,除了那个。奇怪的是窗户不在乎。但是您的解决方案奏效了!谢谢你:)
  • 也许题外话了,我是否在没有“答案”的情况下关闭问题? @user158037
  • 如果没有有效的答案,您可以自己写出有帮助的答案并接受。

标签: java linux maven nullpointerexception netbeans-8


【解决方案1】:

问题在于 Linux 中的文件名区分大小写,而在 Windows 中则不区分大小写。因此,通过在 windows 中使用 GUI-maker 制作 GUI,代码将包含只有小写字母的文件名。所以要么更改代码,要么确保所有文件名都只有小写字母。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-19
    • 2021-07-11
    • 1970-01-01
    • 1970-01-01
    • 2012-12-28
    • 2015-12-21
    • 2016-01-12
    • 2014-11-19
    相关资源
    最近更新 更多