为了账号安全,请及时绑定邮箱和手机立即绑定

如果 jar 需要外部文件,Desktop.getDesktop().open(file) 不起作用

如果 jar 需要外部文件,Desktop.getDesktop().open(file) 不起作用

偶然的你 2021-09-03 22:05:12
我有一个 jar 文件file.jar,它需要一个文件夹,在 jar 所在的位置旁边放有图片。该程序加载图片并显示它们。双击 或 可以正常工作java -jar file.jar,但是如果我尝试用另一个 java 程序打开它File file = new File("path/file.jar");Desktop.getDesktop().open(file)它没有加载图片。它可以是什么?
查看完整描述

1 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

运行时java -jar file.jar,jar 文件位于当前目录中,可能图片文件夹也是如此。

当您双击 jar 文件时,代码会以包含文件夹作为当前目录运行

当您“打开”时path/file.jar当前目录显然不同,因为否则您为什么需要限定 jar 文件名。由于您程序在当前目录上回复以查找图片文件夹,因此失败。

解决方案,按照我的推荐顺序(鉴于我对您的代码知之甚少):

  1. 将图片包含在 jar 文件中,然后使用getResourceAsStream.

  2. 将图片包含在另一个 jar 文件中,让您的主 jar 文件的清单文件在类路径中包含图片 jar 文件。

  3. 在尝试“打开”文件之前,请确保当前目录正确。


查看完整回答
反对 回复 2021-09-03
  • 1 回答
  • 0 关注
  • 303 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信