A opção mais fácil de instalação do
Java é utilizar a versão empacotada com o
Ubuntu. Especificamente, isso irá instalar o J
ava Runtime Environment (JRE) do
OpenJDK, a versão mais recente e recomendada (1).
Este pacote instalará as seguintes versões do OpenJDK (2) (3):
- Ubuntu 16.04: instalará o OpenJDK 8.
- Ubuntu 18.04: instalará o OpenJDK 11.
- Debian 8 (Jessie): instalará o OpenJDK 7.
- Debian 9 (Stretch): instalará o OpenJDK 8.
- Debian 10 (Buster) e Debian sid: instalará o OpenJDK 11.
Primeiro, atualize o índice de pacotes Depois, instale o Java (1).
sudo apt-get update && sudo apt-get install default-jre
Java Development Kit (JDK)
Existe uma outra instalação padrão do Java, chamada de JDK (Java Development Kit). O JDK é normalmente necessário somente se você vai compilar programas em Java ou se o software que usa o Java o requerer especificamente (1).
O JDK contém o JRE, portanto, não há desvantagens se você instalar o JDK em vez do JRE, exceto pelo tamanho maior de arquivo (1).
Você pode instalar o JDK com o seguinte comando (1):
sudo apt-get update && sudo apt-get install default-jdk
Oracle (64-bit)
Licenciamento: é importante notar que com o Java 11, a Oracle usa uma nova licença comercial. Ele pode ser baixado e usado em custos somente para fins de desenvolvimento e teste, e requer o pagamento de uma taxa se usado em ambiente de produção (4):
You may not: use the Programs for any data processing or any commercial, production, or internal business purposes other than developing, testing, prototyping, and demonstrating your Application.
Esta citação é da:
Como resultado, você deve usar o Oracle JDK apenas se você pretende pagar por ele. Use o OpenJDK, disponível nos repositórios do
Debian/Ubuntu, para outros fins. Do Java 11 em diante, as compilações do Oracle JDK e OpenJDK são essencialmente idênticas, com pequenas diferenças que podem ser lidas
aqui (4).
Oracle JDK 11
O Oracle Java 11 está disponível para download como um pacote DEB, mas tudo que o pacote faz é extrair os arquivos para
/usr/lib/jvm/jdk-11, como se você mesmo extraísse o arquivo lá, sem opções para definir ou atualizar as alternativas padrões do Java, definir variáveis de ambiente etc (4).
O instalador Java do
Linux Uprising PPA, define o Java 11 como padrão e define as variáveis de ambiente ("JAVA_HOME", etc) (4).
O pacote neste PPA usa o instalador do Java do Web Upd8 como base, mas foi modificado para instalar a versão 11 do Oracle JDK. O instalador baixa o Oracle Java 11 (64-bit é a única versão que a Oracle provê) dos servidores da Oracle manualmente, por que a licença proibe o upload do binário para o PPA.
Isso pode ser útil caso você esteja atrás de um Proxy/Firewall ou seu ISP bloqueia o link de download do Oracle JDK 11 (então você pode baixá-lo de um computador diferente etc).
Para fazer isso, baixe o arquivo "Oracle Java 11 tar.gz" e salve-o no diretório
/var/cache/oracle-jdk11-installer. Agora, instale o pacote "oracle-java11-installer" e ele deverá escolher o arquivo tar.gz salvo ao invés de baixá-lo (4).
Primeiro, adicione o PPA abaixo no Ubuntu (64-bit), depois atualize seu repositório de pacotes e instale o Java (4) (1).
sudo add-apt-repository ppa:linuxuprising/java
sudo apt-get update
sudo apt-get install oracle-java11-installer
No Debian (64-bit), você pode adicionar o repositório e instalar o Oracle Java 11 usando estes comandos (4):
su -
# echo "deb http://ppa.launchpad.net/linuxuprising/java/ubuntu bionic main" | tee /etc/apt/sources.list.d/linuxuprising-java.list
# apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 73C3DB2A
# apt-get update
# apt-get install oracle-java11-installer
# exit
O pacote "oracle-java11-installer" possui no campo //Recommends//, o pacote "oracle-java11-set-default", que define o Oracle Java 11 como padrão (incluindo a configuração da variável JAVA_HOME, que requer o encerramento da sessão). Tal pacote recomendado é instalado automaticamente no Ubuntu, mas não em distros Linux baseadas no Debian. (4)
Para tornar padrão o Oracle Java 11, instale o pacote o"racle-java11-set-default" (4):
sudo apt install oracle-java11-set-default
Se você quer instalar o Oracle Java 11, mas não quer defini-lo como Java padrão, certifique-se que o pacote "oracle-java11-set-default" não está instalado, remova-o (4):
sudo apt remove oracle-java11-set-default
Aceitar automaticamente a licença do Oracle Java 11 (para instalações automatizadas)
Por padrão, o instalador do Oracle Java 11 requer que você aceite a licença do Oracle Java antes de proceder com a instalação do JDK 11. Se você quer automatizar o processo de instalação do Java 11, use o seguinte comando para aceitar a licença automaticamente (4):
echo oracle-java11-installer shared/accepted-oracle-license-v1-2 select true | sudo /usr/bin/debconf-set-selections
Se o comando acima não aceitar a licença do Oracle Java 11 automaticamente, tente o comando abaixo no lugar (4):
echo oracle-java11-installer shared/accepted-oracle-licence-v1-2 boolean true | sudo /usr/bin/debconf-set-selections
Gerenciando o Java
Podem haver múltiplas versões do Java em um computador. Você pode configurar qual versão é a padrão para uso na linha de comando através do uso do comando
update-alternatives, que gerencia quais links simbólicos são usados por diferentes comandos. (1)
sudo update-alternatives --config java
A saída será parecida com o seguinte (1):
There are 5 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 auto mode
1 /usr/lib/jvm/java-6-oracle/jre/bin/java 1 manual mode
2 /usr/lib/jvm/java-7-oracle/jre/bin/java 2 manual mode
3 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
4 /usr/lib/jvm/java-8-oracle/jre/bin/java 3 manual mode
5 /usr/lib/jvm/java-9-oracle/bin/java 4 manual mode
Press [enter] to keep the current choice[*], or type selection number:
Você pode escolher o número para ser usado como padrão. Isso também pode ser feito para outros comandos do Java, como o compilador (javaC), o gerador de documentação (javaDoc), a ferramenta de assinatura JAR (Jarsigner) e mais. Você pode utilizar o seguinte comando, completando com o comando que você quer customizar. (1)
sudo update-alternatives --config command
Verificando a versão do Java
Você pode checar a versão padrão do Java usando o seguinte comando (4):
java -version
Se o Oracle Java 11 for o padrão, você deverá receber uma saída similar a esta (4):
java version "11" 2018-09-25
Java(TM) SE Runtime Environment 18.9 (build 11+28)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11+28, mixed mode)
Você pode executar o seguinte comando para o
javac também (4):
javac -version
Você deverá receber uma saída similar a esta abaixo (4):
javac 11
Configurando a variável de ambiente JAVA_HOME
Muitos programas, como os servidores Java, utilizam a variável de ambiente "JAVA_HOME" para determinar a localização da instalação do Java. Para configurar essa variável, precisamos saber primeiro onde o Java está instalado.
Você pode fazer isso executando o seguinte comando como na sessão anterior (1):
sudo update-alternatives --config java
Copie o caminho da sua instalação preferencial e abra o arquivo
/etc/environment utilizando o
nano ou o seu editor de texto favorito (1).
sudo nano /etc/environment
Ao final desse arquivo, adicione a seguinte linha, certificando-se de trocar o caminho destacado pelo seu caminho copiado (1).
JAVA_HOME="/usr/lib/jvm/java-8-oracle"
Salve, saia do arquivo e recarregue-o (1).
source /etc/environment
Agora, você pode testar se a variável de ambiente foi configurada executando o seguinte comando (1):
echo $JAVA_HOME
Isso irá retornar o caminho que você configurou (1).
Referências
1. Como Instalar o Java com Apt-Get no Ubuntu 16.04. DigitalOcean. Disponível em:
https://www.digitalocean.com/community/tutorials/como-instalar-o-java-com-apt-get-no-ubuntu-16-04-pt. Acesso em: 17 dez. 2018.
2. How To Install Java with `apt` on Ubuntu 18.04. DigitalOcean. Disponível em:
https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-on-ubuntu-18-04. Acesso em: 17 dez. 2018.
3. Details of package default-jre in stretch. Debian. Disponível em:
https://packages.debian.org/stretch/default-jre. Acesso em: 17 dez. 2018.
4. How To Install Oracle Java 11 In Ubuntu, Linux Mint Or Debian (From PPA Repository). Linux Uprising, 2018. Disponível em:
https://packages.debian.org/stretch/default-jre. Acesso em: 17 dez. 2018.