我已经通过执行命令设置环境变量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