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

Spring Boot如何在application.properties配置项目根目录路径?

解决方案

方法一:直接在application.properties中使用JVM系统属性

Spring Boot可以直接引用JVM自带的系统属性user.dir,它代表当前进程的工作目录。只要你在项目根目录下启动应用或运行测试,这个值就会指向项目根目录,直接在application.properties里配置即可:

app.config=${user.dir}

注意:如果你的测试是在子模块目录单独运行,或者IDE的工作目录被手动修改过,user.dir可能会指向错误路径,这时候建议用下面的Gradle配置来兜底。

方法二:给Gradle测试任务配置JVM参数

既然你已经在bootRun里配置了参数,直接给test任务也加上相同配置,确保测试时能拿到正确的项目根目录:

test {
    jvmArgs = [
        "-Dapp.config=${projectDir}"
    ]
}

这样不管是启动应用还是运行测试,app.config都会被设置为项目根目录,完全满足外部组件的要求。

方法三:环境隔离的配置方式

如果需要区分开发、测试等不同环境的配置,可以创建application-test.properties专门用于测试环境,再结合Gradle传递自定义属性:

  1. 在gradle.properties中定义项目根目录属性:
project.root.dir=${projectDir}
  1. 在application-test.properties中引用这个属性:
app.config=${project.root.dir}
  1. 在Gradle的test任务中把这个属性传递给JVM:
test {
    systemProperty 'project.root.dir', project.projectDir
}

这种方式灵活性更高,适合多环境的复杂场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 21:09:56