我有一个 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 文件名。由于您程序在当前目录上回复以查找图片文件夹,因此失败。
解决方案,按照我的推荐顺序(鉴于我对您的代码知之甚少):
将图片包含在 jar 文件中,然后使用
getResourceAsStream
.将图片包含在另一个 jar 文件中,让您的主 jar 文件的清单文件在类路径中包含图片 jar 文件。
在尝试“打开”文件之前,请确保当前目录正确。
添加回答
举报
0/150
提交
取消