Існує дві змінні середовища - CATALINA_OPTS
і JAVA_OPTS
- які використовуються в сценарії запуску та відключення catalina.sh для Tomcat. Вони описуються в коментарях до цього файлу як:
[JAVA_OPTS]: (необов’язково) Параметри виконання Java, які використовуються, коли виконується команда "пуск", "стоп" або "запуск".
і
[CATALINA_OPTS]: (необов’язково) Параметри виконання Java, які використовуються при виконанні команди "пуск" або "запуск"
То чому існують дві різні змінні? І яка різниця?
По-перше, все, що вказано в змінній EITHER, передається ідентично команді, яка запускає Tomcat - команда "start" або "run", але лише команді "stop" передаються значення, встановлені в JAVA_OPTS. Це, мабуть, не має ніякого значення для того, як Tomcat працює на практиці, оскільки це впливає лише на кінець пробігу, а не на початок.
Друга різниця більш тонка. Інші програми також можуть використовувати JAVA_OPTS, але тільки Tomcat використовуватиме CATALINA_OPTS. Отже, якщо ви встановлюєте змінні середовища для використання лише Tomcat, вам буде рекомендовано використовувати CATALINA_OPTS, тоді як якщо ви встановлюєте змінні середовища, які будуть використовуватися і в інших Java-програмах, таких як JBoss, вам слід поставити ваші налаштування в JAVA_OPTS.
Джерело: CATALINA_OPTS v JAVA_OPTS - в чому різниця?