Java 指定可执行jar内子目录的文件路径
我正在做一个java项目,并将其制作成一个可执行的jar。在jar中,所有正确的文件都包含在内,但在运行jar时,图像不会显示 当我从命令行运行程序时,程序能够正确显示所有内容 我相信问题可能是因为我如何在代码中设置文件路径? 以下是我的设置示例:Java 指定可执行jar内子目录的文件路径,java,image,swing,jar,embedded-resource,Java,Image,Swing,Jar,Embedded Resource,我正在做一个java项目,并将其制作成一个可执行的jar。在jar中,所有正确的文件都包含在内,但在运行jar时,图像不会显示 当我从命令行运行程序时,程序能够正确显示所有内容 我相信问题可能是因为我如何在代码中设置文件路径? 以下是我的设置示例: private static String imgPath; ... imgPath = String.format("img%d.gif", value); ... public static ImageIcon getImageIcon(
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运行程序,否则这种设置是有效的。因此,我的问题是如何让它从jar中工作?第一个错误是假设jar中有一个文件系统(目录等)。有些指向资源的路径可能看起来像目录和文件,但没有目录或文件 应用程序资源在部署时将成为嵌入式资源,因此现在就开始访问它们是明智的。必须通过URL而不是文件访问。有关如何形成URL的信息,请参见