Kotlin - System.getProperty не может разрешить аргумент командной строки - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть код для динамической загрузки application.properties:

fun loadDefaultProperties(): Properties {
    val configPath = System.getProperty("spring.config.location")
    val resource = FileSystemResource(configPath)
    return PropertiesLoaderUtils.loadProperties(resource)
}

Но когда я запускаю команду ...

java -jar my.jar -Dspring.config.location=my/location/application.properties

... System.getProperty("spring.config.location") возвращает null и, следовательно, я получаю IllegalArgumentException, потому что путь null.

Почему я не могу прочитать аргумент из командной строки?

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Вы передаете их в неправильной последовательности.Передайте их как:

java "-Dspring.config.location=my/location/application.properties" -jar my.jar 

В противном случае они являются аргументами программы.Я только что проверил это, и на MacOS, как выше, так и

java -Dspring.config.location=my/location/application.properties -jar my.jar 

(без кавычек) работают.

0 голосов
/ 18 декабря 2018

Вам не нужны кавычки?

java -jar my.jar -Dspring.config.location="my/location/application.properties"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...