我已經通過執行命令設置環境變量Access環境變量
export test=abcd
我可以看到測試= ABCD當我運行printenv
命令
我已經部署了springboot .jar應用程序,我從springboot.conf文件傳遞JAVA_OPTS。
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或魚 – gogstad
類似基本上我想要實現這個[鏈接] HTTP ://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html [link]。我不想硬編碼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