gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 02:02:55 25 4
gpt4 key购买 nike

我有一个 jar 文件 file.jar,它需要一个包含 jar 所在位置旁边的图片的文件夹。该程序加载图片并显示它们。

双击或java -jar file.jar工作正常,但如果我尝试用另一个java程序打开它

File file = new File("path/file.jar");
Desktop.getDesktop().open(file)

它没有加载图片。

它可能是什么?

最佳答案

当您运行java -jar file.jar时,jar 文件位于当前目录,并且图片文件夹可能也在当前目录中。

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

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

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

  1. 将图片包含在 jar 文件中,然后使用 getResourceAsStream 访问它们。

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

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

关于java - 如果 jar 需要外部文件,Desktop.getDesktop().open(file) 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52229829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com