Свойства приложения переопределения при загрузке с помощью аргумента командной строки - PullRequest
1 голос
/ 18 мая 2019

У меня есть application.properties переменная с целью установки значения по умолчанию:

openvasmd.socket=/usr/local/var/run/openvasmd.sock

Я хочу иметь возможность изменить его во время выполнения приложения следующим образом:

java -jar -Dopenvasmd.socket=/var/run/openvasmd.sock application.jar

Однако, когда я хочу использовать его значение, используя:

@Value("${openvasmd.socket}")
private String socket;
public String test()  {
        return "gvm-cli --socketpath "+socket;
}

результат будет:

gvm-cli null

canкто-нибудь подскажет, где я совершаю ошибку?

1 Ответ

1 голос
/ 18 мая 2019

С https://www.baeldung.com/properties-with-spring

Свойства из аргументов командной строки

В отличие от использования файлов, свойства можно передавать непосредственно в командной строке:

java -jar app.jar --property="value"

Это также можно сделать с помощью системных свойств , которые предоставляются до команды -jar, а не после нее :

java -Dproperty.name="value" -jar app.jar
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...