j'ai mis la variable d'environnement en exécutant la commandevariable d'environnement d'accès dans le fichier .conf pour l'application de démarrage de printemps
export test=abcd
Je peux voir test = abcd quand je lance printenv
commande
J'ai déployé un springboot L'application .jar et je passe le JAVA_OPTS du fichier springboot.conf. J'ai commencé l'application par service springboot start
. Lorsque je vérifie le processus, la variable d'environnement n'a pas la valeur de la variable d'environnement $ test.
/usr/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -Dspring.profiles.active=aaa -Denv=.
Comment puis-je accéder à la variable d'environnement dans le fichier conf? J'ai lu quelque part que les variables d'environnement seront supprimées lors de l'exécution en tant que service. Fondamentalement, je veux courir comme service springboot start
qui exécute la commande interne ci-dessous
java -Dspring.profiles.active=aws -Denv=${whatever is set for env environment variable} -jar springboot.jar
J'ai essayé les configurations ci-dessous, mais rien n'a fonctionné
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"
Voir http://www.tldp.org/LDP/abs/html/quotingvar.html pour savoir comment bash interprète les citations, il est similaire dans de nombreux autres shells comme zsh ou poisson – gogstad
fondamentalement, je veux y parvenir [link] http : //docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html [lien]. Je ne veux pas coder en dur l'env et je veux que l'application fonctionne comme un service. C'est mon exigence – javacoder
J'ai essayé d'utiliser des guillemets, cela n'a pas fonctionné. La commande java -Dspring.profiles.active = aws jar springboot.jar fonctionnera bien que la variable d'env sera automatiquement disponible pour application.yml printemps. Je veux l'exécuter en tant que service, j'ai donc créé springboot.conf et le contenu est comme indiqué ci-dessous (j'ai essayé les guillemets doubles, les guillemets simples, etc.). 'JAVA_OPTS =" - Dspring.profiles.active = aws -Denv = $ env "'. Lorsque nous fonctionnons en tant que service, nous ne pouvons pas accéder aux variables d'environnement – javacoder