Alternativas
Alternativas é uma ferramenta que gerencia os locais do software instalado usando links sob o controle da ferramenta alternatives
.
Esses links são gerenciados em /etc/alternatives
com links intermediários criados em um diretório em $PATH
, normalmente /usr/bin
.
Exemplo
$ ls -l /usr/bin/java
lrwxrwxrwx. 1 root root 22 Feb 24 17:36 /usr/bin/java -> /etc/alternatives/java
$ ls -l /etc/alternatives/java
lrwxrwxrwx. 1 root root 73 Feb 24 17:36 /etc/alternatives/java -> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.60-2.4.5.0.fc19.x86_64/jre/bin/java
$ JAVA_HOME
$JAVA_HOME
é onde o software pode ser solicitado a procurar pelo uso de uma variável de ambiente. Adicioná-lo ao $PATH
simplesmente adiciona os executáveis presentes em $JAVA_HOME/bin
ao seu $PATH
. Às vezes isso é necessário para certas aplicações.
Os 2 mecanismos estão relacionados, mas podem ser usados juntos ou independentes um do outro, realmente depende da aplicação Java qual mecanismo é preferível.
O que eu faço
Eu geralmente uso $JAVA_HOME
para alguns aplicativos de GUI, mas em geral uso apenas para instalações de servidor que usam Jetty, Tomcat ou JBOSS, por exemplo.
Para essas instalações, ainda usarei alternatives
para gerenciar as instalações Java antes de definir o $JAVA_HOME
. Eu gosto de fazer isso dessa maneira nos casos em que eu possa precisar ter várias instalações de Java.
Alternativas permite que você tenha certas ferramentas usando uma instalação do Java, enquanto outras usam um completamente diferente.