【发布时间】:2018-04-26 18:41:46
【问题描述】:
我有一个项目,它从名为 res 的文件夹中读取图形和声音效果。此文件夹与 src 文件夹位于同一目录级别。我已将 res 标记为 Resources Root。
我将我的工件配置为通过以下方式将 res 作为内容目录包含在内 项目结构 -> 工件 -> 添加(Alt + Insert) -> JAR
然后,在输出布局选项卡中,我按下了添加下拉框 -> 目录内容 -> res
当我在 Intellij 中运行项目时,它发现资源很好。这是一个代码 sn-p 显示我如何访问资源:
public static final Sfx VOID_SOUND = new Sfx(TinySound.loadSound(new File("res/audio/sfx/void_sound.wav")));
但是,当我构建独立工件,然后运行 jar 时,它会通过将我机器的父目录添加到文件路径来查找资源,一直到根目录。下面是终端输出的样子:
/home/user/Demo/res/audio/sfx/void_sound.wav (No such file or directory)
Error getting resource stream!
有没有办法将工件构建配置到正确位置?我希望将资源包含在 jar 文件中,以便它充当没有外部依赖项的独立 jar。
【问题讨论】:
标签: java file intellij-idea jar