将项目导出到可运行的JAR时,我无法访问资源文件

时间:2015-03-08 18:38:47

标签: java eclipse jar

我整天都遇到了这个问题。

我的程序目前是使用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尚未构建,因此无法看到它。所以我在项目上线后输入一个布尔值来改变。

0 个答案:

没有答案