Ответ 1
Существуют две переменные среды - CATALINA_OPTS
и JAVA_OPTS
- которые используются в запуске и отключении Catalina.sh script для Tomcat. Они описаны в комментариях в этом файле как:
[JAVA_OPTS]: (необязательно) Параметры времени исполнения Java, используемые при запуске "start" , "stop" или "run" , команда выполнена
и
[CATALINA_OPTS]: (необязательно) Параметры времени выполнения Java используется, когда выполняется команда "start" или "run"
Итак, почему существуют две разные переменные? И какая разница?
Во-первых, все, что указано в переменной EITHER, передается тождественно команде, которая запускает Tomcat - команду "start" или "run" , но только значения, установленные в JAVA_OPTS, передаются команде "stop". Это, вероятно, не имеет никакого отношения к тому, как Tomcat работает на практике, поскольку он влияет только на конец прогона, а не на начало.
Второе различие более тонкое. Другие приложения также могут использовать JAVA_OPTS, но только Tomcat будет использовать CATALINA_OPTS. Поэтому, если вы устанавливаете переменные среды для использования только Tomcat, вам лучше всего будет использовать CATALINA_OPTS, тогда как если вы задаете переменные среды, которые будут использоваться и другими приложениями Java, например JBoss, вам следует поставить ваши настройки в JAVA_OPTS.