Às vezes você tem dependências da versão a ser usada para executar algo. No seu caso, isso seria uma versão do Java para alimentar seu servidor Tomcat. A versão global do Java pode mudar ao longo do tempo e fazer o seu servidor Tomcat travar devido a erros ou incompatibilidades. Então, se você definir o seu próprio JAVA_HOME
, você pode ter certeza de que o seu Tomcat começa com uma versão Java que você testou anteriormente e você pode confiar.
Outro ponto pode ser que você tenha várias instâncias em execução e precise especificar um CATALINA_HOME
diferente para as instâncias diferentes.
Eu acho que é mesmo uma boa prática definir as variáveis explícitas em vez de confiar em variáveis que podem mudar com o tempo ou até mesmo não existir, dependendo da configuração do sistema. Isso também facilita a solução de problemas e a visualização dos caminhos e binários usados.