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

在IntelliJ IDEA的路径字符串中使用$PROJECT_DIR$变量不生效如何解决

问题根因

$PROJECT_DIR$、$MODULE_DIR$是IntelliJ IDEA专属的IDE层面路径变量,仅在IDE处理自身配置(如运行参数、构建规则、文件模板等)时才会被解析替换,直接写在Java代码的字符串中时,JVM运行时无法识别该占位符,自然无法找到对应文件。

可行实现方案

你的图片存放在Maven/Gradle标准项目的resources目录下,属于类路径资源,直接通过类加载器读取即可实现跨设备共享,不需要依赖IDE变量,代码示例如下:

// 非静态场景下使用
stage.getIcons().add(new Image(getClass().getResourceAsStream("/com/example/demo/money.png")));

// 静态场景下使用,将YourClassName替换为你当前类的类名
stage.getIcons().add(new Image(YourClassName.class.getResourceAsStream("/com/example/demo/money.png")));
注意事项
  • 路径开头的/代表从类路径根目录(对应项目的resources目录)开始查找资源,省略斜杠则会从当前类所在的包路径开始查找
  • Maven、Gradle的标准项目结构默认会把resources目录下的文件打包到类路径中,无需额外配置
  • 该写法不依赖任何IDE配置,不管是本地运行还是打包为jar包发布都能正常加载资源,完全满足项目共享需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 18:15:03