У меня есть простое приложение Spring с чтением значений конфигурации из файла свойств. По умолчанию файл настроен на путь к классам (@PropertySource("classpath:thefile.properties")
аннотация в классе конфигурации). Я хочу иметь возможность опционально использовать какой-то другой файл свойств, который я могу (но не обязан) указать в командной строке при запуске программы. Т.е. я в итоге хочу запустить что-то вроде этого:
java -jar application.jar --path "some/location/thefile.properties"
Теперь следует использовать значения из указанного файла.
Я уже пробовал использовать SpringBoot и опцию spring.config.location
как до, так и после jar:
java -jar "-Dspring.config.location=file:some/location/thefile.properties" application.jar
- продолжает использовать значения из файла в classpath
java -jar application.jar "--spring.config.location=file:some/location/thefile.properties"
- жалуется на нераспознанную опцию
Мой основной класс выглядит так:
@SpringBootApplication
public class MainClass {
public static void main(String[] args) {
SpringApplication.run(MainClass.class, args);
// Application code triggered here...
}
}
Мне не нужно использовать SpringBoot, я просто хочу как-то установить местоположение файла свойств. Любая идея? И возможно ли это вообще?