我正在使用LWJGL和Slick-Util。我的纹理加载在Eclipse中运行良好,但是当我将它导出到.jar时,它会给出java.lang.RuntimeException:找不到资源:res / test / texture.png
这是我的纹理加载代码:
public int loadTexture(String file) {
Texture tex = null;
try {
tex = TextureLoader.getTexture("PNG", new FileInputStream("res/" + file + ".png"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
int texID = tex.getTextureID();
textures.add(texID);
return texID;
}
答案 0 :(得分:0)
您可能无法从正确的目录运行该应用程序。要使代码生效,您需要在包含res
文件夹的目录中启动该程序。
或者你可以使用
...
try {
tex = TextureLoader.getTexture("PNG", this.getClass().getResourceAsStream("/res/" + file + ".png");
} catch (FileNotFoundException e) {
...
}
但是在这种情况下需要将res
文件夹添加到classpath:
java -cp .;path/to/res;some.jar your.main.Class
答案 1 :(得分:0)
使用OctoArcher摆脱getResource()/ getResourceAsStream()