我真的很困惑,我正在为工作中的 UI 自动化制作一个小型 GUI,在 Netbeans IDE 8.0 中完美运行,完全没有运行问题! 但我之前没有尝试过运行可执行 jar,这就是问题所在……它没有运行。 JAR 启动,但什么也没出现??? 所以我尝试通过终端运行它,但有一个很长的异常:
有人有想法吗?
最佳答案
同一台计算机上的 jar 中出现 NPE 的主要原因,而不是 java .class 文件的工作集:
- 使用
File
而不是getResource/getResourceAsStream
- 文件无法在 jar 中查找。 - 使用不同的字母大小写,因为 Windows 不区分大小写,但 jar (zip) 不区分大小写(Linux/MacOSX 也不区分)。
- 类路径更加宽松(+src),并且资源文件没有复制到 jar 中。
因此,进行一次干净的构建,使用 WinZip/7zip/NetBeans 查看 jar。
检查是否有可疑的“地毯式清理”:catch (Exception e) { }
.
最后,人们也可以查看错误:源代码,以及 JList(某个组件?)专门做了什么。堆栈跟踪显示它是在 JList 布局期间。是不是很简单JList<String>
?
关于java - 项目在 Netbeans 8.0 中运行,但不是作为 JAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24997280/