Java 如何导出具有非jar依赖项的工作jar

Java 如何导出具有非jar依赖项的工作jar,java,deployment,jar,export,libraries,Java,Deployment,Jar,Export,Libraries,我对java相当陌生,我正在制作一款口袋妖怪风格的游戏用于练习,我希望能够将游戏发送给我的朋友 主要问题是:游戏在我的netbeans IDE中运行良好,但在我的dist文件夹中使用jar文件不起作用,并引发nullPointerException。我已经缩小了问题的范围。我的游戏使用我在库中导入的图像图标和png/gif图像。我就这样接近他们 Icon bckground = new javax.swing.ImageIcon(getClass().getResource("/pictures

我对java相当陌生,我正在制作一款口袋妖怪风格的游戏用于练习,我希望能够将游戏发送给我的朋友

主要问题是:游戏在我的netbeans IDE中运行良好,但在我的dist文件夹中使用jar文件不起作用,并引发nullPointerException。我已经缩小了问题的范围。我的游戏使用我在库中导入的图像图标和png/gif图像。我就这样接近他们

Icon bckground = new javax.swing.ImageIcon(getClass().getResource("/pictures/BG.gif"));
我不确定如何将图像放入lib文件夹,以便程序查找。我试着将文件直接复制到lib文件夹中,并为它们创建一个名为pictures的文件夹;两者都不起作用。现在lib文件夹只包含我的其他库中的一个jar。(这是我导入到库中的唯一jar文件)


在我的情况下,我做了类似的事情

final BufferedImage image = ImageIO.read(new File("something.jpg"));
我刚刚将something.jpg转移到dist文件夹,它工作正常

清理构建项目后,将BG.gif放入dist文件夹,然后在dist文件夹中运行jar文件。现在一切都好了。将游戏发送给朋友时,您可以封装(隐藏、设置为只读)您的代码(google encapsultaion java),然后将BG.gif传输到dist文件夹中,存档项目。然后,您的朋友只需要解压缩它并在dist文件夹中找到jar文件


希望这会有所帮助:)

请将您的图片(BG.gif)放在用作图标的包(目录)中
icon bckground=new javax.swing.ImageIcon(getClass().getResource(“BG.gif”)在jar文件中。您需要首先更改文件的路径
getResource(“BG.gif”)
,然后从IDE创建jar文件。如果jar不包含映像,可以使用任何解压应用程序(winrar等)打开jar,并将映像文件复制并粘贴到类所在的目录中。请告诉我结果。

谢谢,我最终使用的是ImageIcon构造函数,文件名为单字符串参数。然后把图片放在dist文件夹中。@joey101937我很高兴它能工作。你能推一下吗↑ 按钮吗?)这将意味着很多对我来说)我会,但我没有足够的声誉来使用按钮尚未。(这是我的第一个问题)