将spring.config.location设置为相对路径

时间:2016-07-15 17:17:03

标签: java spring spring-boot

是否可以在spring.config.location中使用相对路径?

我在IntelliJ

中有以下结构
|-dev.yml
|-src
  |-main
  |-java
    |-com.foo
      |-MySpringApp.java

并使用

运行它
--spring.config.location=dev.yml

哪个不起作用

唯一有效的方法是设置完整路径

--spring.config.location=/user/.../myApp/dev.yml

2 个答案:

答案 0 :(得分:3)

奇怪的没有人回答过这个问题。

我只是通过反复试验来解决问题。

相对路径始终有效,因为无论何时何地运行Java,Java都会从某个目录运行。只是一个发现它是什么的案例。

在我的情况下,使用Win10,Java 1.8,IntelliJ 2018和Spring Boot 2.0.2,在IntelliJ中运行我的应用程序作为Spring Boot应用程序,我的相对路径是相对于项目根目录。

所以对你来说,我会假设它以相同的方式开始,使用项目根目录。由于这是您的属性所在,您需要.,然后因为它是一个目录,您需要在末尾添加斜杠:

--spring.config.location=./

答案 1 :(得分:0)

Read this spring boot configuration chapter

我不了解相对路径,但如果将dev.yml文件放在类路径中,则可以使用classpath:dev.yml