Я установил переменную окружения, выполнив командудоступа переменной среды в .conf файл для загрузки приложения весной
export test=abcd
Я могу видеть тест = ABCD, когда я бегу printenv
команду
Я развернула springboot .jar, и я передаю JAVA_OPTS из файла springboot.conf.
JAVA_OPTS='-Dspring.profiles.active=aaa -Denv=$test'
Я начал приложение с service springboot start
. Когда я проверяю процесс, переменная env не имеет значения переменной переменной $ test.
/usr/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -Dspring.profiles.active=aaa -Denv=.
Как получить доступ к переменной окружения в файле conf? Я где-то читал, что переменные среды будут удалены при запуске в качестве службы. В основном я хочу, чтобы работать как service springboot start
, который внутренне выполняет следующую команду
java -Dspring.profiles.active=aws -Denv=${whatever is set for env environment variable} -jar springboot.jar
Я попытался ниже конфигурации, но ничего не получалось
JAVA_OPTS='-Dspring.profiles.active=aaa -Denv='$test
JAVA_OPTS='-Dspring.profiles.active=aaa -Denv='${test}
JAVA_OPTS='-Dspring.profiles.active=aaa -Denv=${test}'
JAVA_OPTS="-Dspring.profiles.active=aaa -Denv=$test"
См. Http://www.tldp.org/LDP/abs/html/quotingvar.html для того, как bash интерпретирует кавычки, он аналогичен во многих других оболочках, таких как zsh или fish – gogstad
в основном я хочу достичь этого [link] http : //docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html [ссылка]. Я не хочу жестко кодировать env, и я хочу, чтобы приложение запускалось как служба. Это мое требование – javacoder
Я пробовал использовать двойные кавычки, это не сработало. Команда java -Dspring.profiles.active = aws -jar springboot.jar будет работать нормально, так как переменная env будет автоматически доступна для spring application.yml. Я хочу запустить его как службу, поэтому я создал springboot.conf, и содержимое приведено ниже (я пробовал двойные кавычки, одинарные кавычки и т. Д.). 'JAVA_OPTS =" - Dspring.profiles.active = aws -Denv = $ env "'. Когда мы запускаем службу, мы не можем обращаться к переменным среды – javacoder