Reference Spring properties file using path relative to config file

Viewed 35744

I am moving properties from inside my Spring config file to a separate properties file. This is included in the config file with

<bean class="org.springframework.beans.factory.config.PropertyPlaceHolderConfigurer">
  <property name="location" value="file:properties/${CONFIG_MODE}/service.properties" />
</bean>

As it stands, the location of the properties file is relative to the current working directory of the server process.

This creates the requirement that the process must be started from a specific working directory, and even worse allows for the (admittedly remote) possibility that it could pick up an entirely different properties file - for example if it was started with the working directory set to an older version of the service.

I'd like to reference the properties file using a path that is relative to the directory containing the config file.

Looking at FileSystemResource, it seems createRelative might be what I need, but I can't figure out how to use it in the config file.

Thanks,

Steve

3 Answers
Related