【问题标题】:Specifying filepaths to subdirectories inside executable jar指定可执行 jar 中子目录的文件路径
【发布时间】:2018-09-18 08:58:42
【问题描述】:

我正在开发一个 java 项目并将其制成一个可执行的 jar。 jar 中包含所有正确的文件,但运行 jar 时,图像不显示。

当我从命令行运行程序时,程序能够正确显示所有内容。

我认为问题可能是因为我如何在代码中设置文件路径? 这是我的设置示例:

private static String imgPath;
...
    imgPath = String.format("img%d.gif", value);
...
public static ImageIcon getImageIcon() {
    ImageIcon ii = new ImageIcon("content/dice/" + imgPath);
    return ii;
}
//getImageIcon() is later called by another class

除非我尝试从可执行 jar 运行程序,否则此设置有效。所以我的问题是如何让它从罐子里工作?

【问题讨论】:

标签: java image swing jar embedded-resource


【解决方案1】:

第一个错误是假设 Jar 中有一个文件系统(目录等)。有些资源路径可能看起来像目录和文件,但没有目录或文件本身。

应用程序资源在部署时将成为嵌入式资源,因此明智的做法是立即开始访问它们。 必须通过 URL 而不是文件访问。请参阅info. page for embedded resource 了解如何形成 URL。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-09
    • 1970-01-01
    • 2014-09-12
    • 1970-01-01
    • 2016-09-15
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多