我对java相当陌生,我正在制作一个口袋妖怪风格的游戏来练习,我希望能够将游戏发送给我的 friend 。
这里是主要问题:游戏在我的 netbeans IDE 中运行良好,但使用 dist 文件夹中的 jar 文件不起作用并抛出 nullPointerException。我已经缩小了问题范围。我的游戏使用我在库中导入的 imageIcons 和 png/gif 图像。我可以像这样访问它们
Icon bckground = new javax.swing.ImageIcon(getClass().getResource("/pictures/BG.gif"));
我不确定如何将图像放入 lib 文件夹中以便程序查找。我尝试将文件直接复制到 lib 文件夹中,并为它们创建一个名为图片的文件夹;两者都不起作用。现在 lib 文件夹只包含来 self 的其他库之一的单个 jar。 (这是我导入到我的库中的唯一 jar 文件)
最佳答案
就我而言,我做了类似的事情。
final BufferedImage image = ImageIO.read(new File("something.jpg"));
我刚刚将 some.jpg 传输到 dist 文件夹中,效果很好。
清理构建项目后,将 BG.gif 放入 dist 文件夹中,然后运行 dist 文件夹中的 jar 文件。现在一切都应该没问题了。当你把你的游戏发送给你的 friend 时,你可以封装(隐藏,设置只读)你的代码(google encapsultaion java),然后将BG.gif传输到dist文件夹中,存档项目。然后你的 friend 只需解压它并在dist文件夹中找到jar文件即可。
希望这会有所帮助:)
关于java - 如何导出具有非 jar 依赖项的工作 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37474869/