J'utilise Eclipse pour le codage d'applications Web. À l'intérieur de cela, j'ai passé une variable d'environnement comme:
APP_MASTER_PASSWORD
et sa valeur.Je peux accéder à cette valeur dans le code Java en tant que System.getenv("APP_MASTER_PASSWORD")
.
Mais maintenant, je souhaite transmettre cette variable d’environnement à Tomcat et y accéder dans l’application au lieu de la transmettre à Eclipse.
Alors, comment puis-je transmettre une telle variable à tomcat?
J'ai googlé à ce sujet. Mais je n'ai pas eu de solution.
Je vous remercie.
Vous pouvez utiliser setenv.bat ou .sh pour transmettre les variables d’environnement à Tomcat.
Créez un fichier CATALINA_BASE/bin/setenv.bat ou .sh, insérez la ligne suivante, puis démarrez Tomcat.
Sous Windows:
set APP_MASTER_PASSWORD=foo
Sur les systèmes Unix:
export APP_MASTER_PASSWORD=foo
Vous devez utiliser la propriété système au lieu de la variable d'environnement dans ce cas. Editez vos scripts Tomcat pour Java_OPTS et ajoutez une propriété comme:
-DAPP_MASTER_PASSWORD=foo
et dans votre code, écrivez
System.getProperty("APP_MASTER_PASSWORD");
Vous pouvez également le faire dans Eclipse. Au lieu de Java_OPTS, copiez la ligne dans les paramètres VM à l’intérieur des configurations d’exécution.
Les entrées d'environnement spécifiées par le balisage <Environment>
sont JNDI, accessibles à l'aide de InitialContext.lookup sous Java:/comp/env
. Vous pouvez spécifier des propriétés d'environnement pour JNDI à l'aide du paramètre environment du constructeur InitialContext et des fichiers de ressources application .
System.getEnv()
concerne les variables d'environnement système du processus Tomcat lui-même.
Pour définir une variable d'environnement à l'aide de la commande bash: export Tomcat_OPTS=-Dmy.bar=foo
Et démarrez Tomcat: ./startup.sh
Pour récupérer la valeur de la propriété système bar
, utilisez System.getProperty()
. System.getEnv()
peut être utilisé pour récupérer la variable d’environnement, à savoir Tomcat_OPTS
.
Si vous démarrez votre Tomcat à partir d'Eclipse (vue "Serveurs"), vous devez disposer d'une entrée "Exécuter/exécuter la configuration" (menu) appelée "Apache Tomcat/Tomcat…". Lorsque vous sélectionnez cette entrée dans la liste des configurations d'exécution, vous obtenez une fenêtre avec plusieurs onglets, dont l'un est intitulé "Environnement". Vous pouvez y configurer des variables d’environnement pour votre Tomcat. Assurez-vous de redémarrer Tomcat après.
Sous Windows, si vous ne trouvez pas setenv.bat, dans la deuxième ligne de catalina.bat (après @echo off), ajoutez ceci:
SET APP_MASTER_PASSWORD = toto
Peut-être pas la meilleure approche, mais fonctionne