如何导出具有非 jar 依赖项的工作 jar
How to export working jar with non-jar dependencies
我是 java 的新手,我正在制作一个 pokemon 风格的游戏来练习,我希望能够将游戏发送给我的朋友。
这里是主要问题:游戏在我的 netbeans IDE 中运行良好,但使用我的 dist 文件夹中的 jar 文件不起作用并抛出 nullPointerException。我已经缩小了问题的范围。我的游戏使用我在库中导入的 imageIcons 和 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 文件夹,然后将 运行 jar 文件放入 dist 文件夹。现在一切都应该没问题了。将游戏发送给好友时,可以封装(隐藏,设置只读)你的代码(google封装java),然后BG.gif传送到dist文件夹,存档该项目。然后你的朋友只需要解压它并在dist文件夹中找到jar文件。
希望这会有所帮助:)
请将您的图片(BG.gif)放在jar文件中用作图标的包(目录)中Icon bckground = new javax.swing.ImageIcon(getClass().getResource("BG.gif"));
。您需要先更改文件的路径 getResource("BG.gif")
,然后从 IDE 创建 jar 文件。如果 jar 不包含图像,您可以使用任何解压缩应用程序(winrar 等)打开 jar,然后将图像文件复制并粘贴到 class 所在的目录中。请告诉我结果。
我是 java 的新手,我正在制作一个 pokemon 风格的游戏来练习,我希望能够将游戏发送给我的朋友。
这里是主要问题:游戏在我的 netbeans IDE 中运行良好,但使用我的 dist 文件夹中的 jar 文件不起作用并抛出 nullPointerException。我已经缩小了问题的范围。我的游戏使用我在库中导入的 imageIcons 和 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 文件夹,然后将 运行 jar 文件放入 dist 文件夹。现在一切都应该没问题了。将游戏发送给好友时,可以封装(隐藏,设置只读)你的代码(google封装java),然后BG.gif传送到dist文件夹,存档该项目。然后你的朋友只需要解压它并在dist文件夹中找到jar文件。
希望这会有所帮助:)
请将您的图片(BG.gif)放在jar文件中用作图标的包(目录)中Icon bckground = new javax.swing.ImageIcon(getClass().getResource("BG.gif"));
。您需要先更改文件的路径 getResource("BG.gif")
,然后从 IDE 创建 jar 文件。如果 jar 不包含图像,您可以使用任何解压缩应用程序(winrar 等)打开 jar,然后将图像文件复制并粘贴到 class 所在的目录中。请告诉我结果。