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

Gradle多模块Spring Boot项目子模块application.properties如何引用根目录共享文件

解决方案
  • 方法1:通过Gradle注入根目录路径(最稳定,不依赖工作目录配置)
    修改module-1/build.gradle,在test任务中注入项目根目录的系统属性:
test {
    // 将Gradle内置的根项目路径作为JVM系统参数传递给测试进程
    systemProperty 'project.root.dir', rootProject.rootDir.absolutePath
}

修改测试用application.properties配置即可生效:
my.json.data.file=${project.root.dir}/SHARED-FOLDER/data.json

  • 方法2:使用相对路径快速适配(无需修改Gradle配置,适合临时调试)
    因为${user.dir}默认指向子模块根目录,向上跳一级即可定位到项目根目录:
    my.json.data.file=${user.dir}/../SHARED-FOLDER/data.json
    注意该方案依赖测试进程的默认工作目录设置,若后续修改了模块测试的工作目录会失效。

  • 方法3:将共享目录加入测试类路径(适合需要以类路径资源方式读取的场景)
    修改module-1/build.gradle,把根目录下的共享文件夹加入测试资源目录:

sourceSets {
    test {
        resources {
            srcDir rootProject.file('SHARED-FOLDER')
        }
    }
}

配置完成后直接在application.properties中通过类路径引用即可:
my.json.data.file=classpath:data.json

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 00:36:07