как читать файлы пользовательских свойств с аргументом командной строки в приложении весенней загрузки - PullRequest
0 голосов
/ 09 мая 2018

при запуске моего приложения для весенней загрузки я хочу задать путь к пользовательскому файлу конфигурации с помощью аргумента командной строки, например:

java -jar some.jar -DConfigPath=conf/config.local(or conf/config.prod) 

Так как же прочитать этот файл для генерации весенней конфигурации? Могу ли я использовать аннотацию @PropertySource каким-то «динамическим» образом?

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Хорошо, я обнаружил, что аннотация @PropertySource может получить значение, введенное аргументом командной строки

   @Configuration
   @ConfigurationProperties
   @PropertySource(value = "file:${ConfigPath}")
   public class MyConfig {
            @Getter
            @Value("${property_name}")
            private String myproperty;
    }
0 голосов
/ 09 мая 2018

Попробуйте использовать

spring.config.location

Как то так

java -jar some.jar --spring.config.location=file:some-project/src/main/resources/conf/config.prod

это должно прочитать вашу конфигурацию, как и любой файл application.properties

...