我整天都遇到了这个问题。
我的程序目前是使用Java的RMI的简单客户端服务器应用程序。
这里的一切都发生在客户端。
我在src
下的项目文件夹中有一个名为resources
的文件夹,其中包含所有图片和其他文件
获取我正在使用的图像:
public static final Image SPY_LARGE_ICON =
Toolkit.getDefaultToolkit().getImage(Constants.RESOURCES_LOCATION + "spy.png");
这是在我的Constants
课程中完成的,因为它在我的课程中使用。
现在针对这个问题,在Eclipse中运行时运行正常。图像在整个应用程序中按需显示。但是当我将它导出到可运行的JAR时,它拒绝查看该位置。
RESOURCES_LOCATION
const目前设为:
public static final String RESOURCES_LOCATION = ".\\src\\Resources\\";
我尝试使用/
代替\
以及两者的混合,使用和不使用点。
我也经常讨论类路径,但无济于事。
但是当它作为JAR导出时,我仍然无法访问该文件。
我没有想法,关于图像的路径。
由于 亚当
编辑:如果文件作为构建路径中的源文件夹包含在内,那么它没有什么区别
答案:
public static Image getImageFromFileOrJar(Class classs, StringfileName) {
Image image;
if (isDEBUG) {
image = Toolkit.getDefaultToolkit().getImage(
Constants.RESOURCES_LOCATION + fileName);
} else {
image = Toolkit.getDefaultToolkit()
.getImage(
classs.getResource(Constants.RESOURCES_LOCATION
+ fileName));
}
return image;
}
当通过eclipse使用debuging程序时,jar尚未构建,因此无法看到它。所以我在项目上线后输入一个布尔值来改变。