使用相对于配置文件的路径引用Spring属性文件

我正在将属性从我的Spring配置文件中移动到单独的属性文件中。 这包含在配置文件中

   

就目前而言,属性文件的位置是相对于服务器进程的当前工作目录的。

这就要求必须从特定的工作目录启动进程,更糟糕的是允许它(可以说是远程的)它可以获取完全不同的属性文件 – 例如,如果它是在工作目录设置为旧版本的服务。

我想使用相对于包含配置文件的目录的路径来引用属性文件

看看FileSystemResource ,似乎createRelative可能就是我所需要的,但我无法弄清楚如何在配置文件中使用它。

谢谢,

史蒂夫

我不知道如何做到这一点。

但是,您可以从类路径加载属性文件:

    

属性文件的类路径位置是一个更加可预测的情况,只要您的类路径设置正确,它就会起作用。

使用3.1,如果需要,可以将文件保留在类路径之外。

使用以下bean定义,

    

您可以使用java命令行设置属性

 java ... -Dprops.path=path/to/where/it/is 

假设您已将config.properties文件放在WEB-INF中然后:

   classpath:../config.properties