【问题标题】:Will my executable jar include files I added in the file structure?我的可执行 jar 会包含我在文件结构中添加的文件吗?
【发布时间】:2021-09-07 18:08:57
【问题描述】:

我正在尝试理解创建可执行 jar 和文件路径的工作原理,所以请多多包涵。

我有一个小程序,它应该将一些固件上传到服务器。这些固件的总大小约为 650MB。总而言之,项目文件夹占用了大约 2.2GB 的空间。

在程序本身中,我有一些字符串是指包含固件的文件夹的名称。

"src\\com\\java\\myProgram\\data\\bios_fw\\"+biosFWPath+"\\"+biosFW

在 IDE 中测试时,这没有问题。

所以这是我的问题:如果我将程序构建为可执行 jar,这仍然有效吗?我已经注意到我创建的 jar 只包含大约 450MB。它甚至包含固件吗?如果是,程序是否能够找到指定的路径?

此外,将这些文件夹与 jar 一起“安装”到用户 PC 上的正确方法是什么?

谢谢!

【问题讨论】:

  • 我们不知道您如何构建您的 jar。所以猜测的答案是 a) 也许没有 b) 你为什么不看罐子里面?它只是一个 zip 文件! c) 你必须尝试。 FWIW,您可能想了解ClassLoader#getResourceAsStream

标签: java installation jar executable


【解决方案1】:

由于 .jar 文件是 java 存档文件,您可以打开它并查看自己,因为我们不知道您是如何构建 .jar 的。 但考虑到未来,我会删除绝对路径,并使用相对路径指向可以插入固件的目录,以防固件更新,这样您就不必每次都构建程序。

当您想在项目中保留 FW 时,正确的方法是使用 ClassLoader。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-17
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多