如何将jar文件与参考文件一起打包?

时间:2015-01-13 01:06:55

标签: java eclipse file jar reference

使用eclipse,当我只在我的计算机上使用该应用程序时,导出一个可运行的jar文件非常简单。程序正在使用的任何文件(精灵表,音频轨道等)仅存在于我的计算机上,因此仅将jar发送到另一台计算机将无法正常工作。

将jar打包以及所有必要文件的最简单方法是什么,以便我可以在任何机器上运行该程序?

2 个答案:

答案 0 :(得分:1)

我从你的标签中看到你在Eclipse中工作。我不确定这种方法是否适用于其他IDE,如果您手动完成所有操作,我认为它根本无法工作(它依赖于编译器自动将资源复制到{ {1}}文件夹。

最简单的方法(至少我使用的方法)是定义另一个源文件夹(我喜欢bin)。

然后,您只需将包添加到此源文件夹并转储相关图像即可。然后重建你的项目。

最后,您可以使用res来获取文件。

导出为getClass().getResourceAsStream("package/path/file_name.whatever");后,即使在其他计算机上也可以正常工作。

答案 1 :(得分:1)

如果您不要求其他文件是文件系统上的实际文件(这意味着您不能使用FileFileInputStream)然后你可以使用资源系统。如果将它们放在JAR中,您可以像这样访问它们:

InputStream fileStream = SomeClassInYourJarFile.class
                                            .getResourceAsStream("/path/to/file.png");

此示例将从您的JAR文件中的InputStream条目中读取/path/to/file.png - 即" file.png"文件夹内的文件"到"在文件夹"路径"。

这不是要求文件在JAR文件中 - 它可以从存储.class文件的任何地方加载它们,JAR与否。如果将它们放在源文件夹中,Eclipse会自动将它们复制到那个地方 - 所以如果你有一个包含名为path.to的文件的包file.png,上面的行也会有效。

相关问题