小编use*_*953的帖子

加载.Jar文件或类路径中包含的资源(图像)

所以我已经尝试过各种各样的解决getResourceAsStream()方法,在堆栈交换上解决这个问题,大多数人说使用方法,我已经完成了.这是Jar的资源输入方法.

import java.io.InputStream;

    public class ResourceLoader {
        public static InputStream load(String path){
    InputStream input = ResourceLoader.class.getResourceAsStream(path);
    if(input == null){
        input = ResourceLoader.class.getResourceAsStream("/" + path);
    }
    return input;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在我的ImageLoader课堂上使用它.

public class ImageLoader {

public BufferedImage load(String path){
    try {
//          return ImageIO.read(getClass().getResource(path));
        return ImageIO.read(ResourceLoader.load(path));
    } catch (IOException e) {
        e.printStackTrace();
    }
    return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

并使用将图像加载到主程序中

ImageLoader loader = new ImageLoader();
    spriteSheet = loader.load("/spritesheet.png");
Run Code Online (Sandbox Code Playgroud)

现在在日食中游戏运行并加载所有图像完全正常.但我想要做的是将它导出到Jar,我已经使用一些教程完成了,并成功将其导出到包含我使用的图像的资源文件夹.但是,当我尝试运行.jar文件时,此错误会在cmd行中弹出.

Exception in thread "Thread-2" java,lang.IllegalArgumentException: input == null
!
    at …
Run Code Online (Sandbox Code Playgroud)

java jar

1
推荐指数
1
解决办法
5981
查看次数

标签 统计

jar ×1

java ×1