Define environment variables in Tomcat

Define environment variables in Tomcat

Sometimes you want to change the behavior of your code without recompiling / deploying.  A way to do this is defining environment variables that you can change at any time. A typical use case is for database connection properties (username, password, port, etc).

In your Tomcat home create this file $TOMCAT_HOME/bin/setenv.sh and define variables like this:

export VAR1=my_var1_value
export VAR2=my_var2_value

Give execution permission

chmod 755 setenv.sh

In Windows define variables like this:

set VAR1=my_var_value

After saving the file you must reboot Tomcat.

In your code you get the environment variable this way:

//value will be null if VAR1 does not exist
String value = System.getenv("VAR1");