You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle Java项目中如何正确访问resources文件夹内的图片?

Gradle Java项目中正确访问resources目录下的图片资源

Gradle构建Java项目时,src/main/resources下的文件会被复制到编译后的classpath根目录,而非保留源码中的相对路径结构,这就是你用../../../resources/white_pawn.png找不到图片的原因。

正确的资源访问方式

以下两种方法可以可靠地加载resources中的图片:

方法一:通过当前类的getResource()获取

路径以/开头表示从classpath根目录查找,直接写resources下的文件名即可:

// 替换YourGameGUIClass为当前类的类名
private static final PieceLabel whitePawn = new PieceLabel(
    new ImageIcon(YourGameGUIClass.class.getResource("/white_pawn.png")), 
    Piece.WHITE
);

如果不写开头的/,会从当前类所在的包路径下查找资源,需根据实际结构调整。

方法二:通过系统类加载器的getResource()获取

直接指定classpath根目录下的资源文件名:

private static final PieceLabel whitePawn = new PieceLabel(
    new ImageIcon(ClassLoader.getSystemResource("white_pawn.png")), 
    Piece.WHITE
);

注意事项

  • 确认white_pawn.png确实在src/main/resources目录下,文件名(包括大小写)无拼写错误。
  • 用IDE开发时,执行一次Rebuild Project确保资源被正确同步到classpath。
  • 若资源放在resources的子目录(如src/main/resources/images),路径需改为/images/white_pawn.png(对应方法一)或images/white_pawn.png(对应方法二)。

内容的提问来源于stack exchange,提问作者nortain32

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 05:15:02