How to pass the -D additional parameter while starting tomcat?

Rais Alam picture Rais Alam · Feb 20, 2013 · Viewed 55.5k times · Source

I have a maven project, after running command mvn install all project as well as module compile and copied to local repository successfully. But now I want to run the generated web application in tomcat6. Client provided some parameter for tomcat like -Dapp.username,-Dapp.username, which will be used internally once project will start.ButI do not know how to set these additional parameter in tomcat6. Below is my development environment

  1. OS = Windows
  2. Tomcat = tomcat 6.0.27

Please help me?

Answer

DavidR picture DavidR · Mar 8, 2016

For Tomcat 6 you should add the params to the startup.sh (Windows startup.bat). For Tomcat 7 and above you should set the parameters in the {Catalina Root}/bin/setenv.sh like such:

export CATALINA_OPTS="$CATALINA_OPTS -Dapp.username=username -Dapp.password=password"

Or in Windows:

set CATALINA_OPTS="$CATALINA_OPTS -Dapp.username=username -Dapp.password=password"

NOTE: Notice the $CATALINA_OPTS at the beginning so you don't wipe out any previously set values. Not doing so can create a very hard to debug problem!

If the parameters you are setting are solely to be used by Tomcat then be sure to set it using CATALINA_OPTS.

If your application will be using the parameters then be sure to use JAVA_OPTS instead. Tomcat will also read these parameters. This can also go in the setenv.sh file. For instance:

export JAVA_OPTS="$JAVA_OPTS -Dapp.username=username -Dapp.password=password"

Or in Windows:

set JAVA_OPTS="$JAVA_OPTS -Dapp.username=username -Dapp.password=password"