Hay dos variables de entorno, CATALINA_OPTS
y JAVA_OPTS
, que se utilizan en el script de inicio y cierre de catalina.sh para Tomcat. Se describen en los comentarios dentro de ese archivo como:
[JAVA_OPTS]: (opcional) Opciones de tiempo de ejecución de Java que se utilizan cuando se ejecuta el comando "iniciar", "detener" o "ejecutar"
y
[CATALINA_OPTS]: (opcional) Opciones de tiempo de ejecución de Java utilizadas cuando se ejecuta el comando "iniciar" o "ejecutar"
Entonces, ¿por qué hay dos variables diferentes? Y cual es la diferencia?
En primer lugar, cualquier cosa especificada en CUALQUIER variable se pasa, de manera idéntica, al comando que inicia Tomcat, el comando "iniciar" o "ejecutar", pero solo los valores establecidos en JAVA_OPTS se pasan al comando "detener". Eso probablemente no hace ninguna diferencia en la forma en que Tomcat se ejecuta en la práctica, ya que solo afecta el final de una ejecución, no el inicio.
La segunda diferencia es más sutil. Otras aplicaciones también pueden usar JAVA_OPTS, pero solo Tomcat usará CATALINA_OPTS. Por lo tanto, si está configurando variables de entorno para que las use solo Tomcat, es mejor que use CATALINA_OPTS, mientras que si está configurando variables de entorno para que las utilicen otras aplicaciones Java, como JBoss, debe poner su configuración en JAVA_OPTS.
Fuente: CATALINA_OPTS v JAVA_OPTS - ¿Cuál es la diferencia?