Introdução

O Java e a JVM (máquina virtual do Java) são necessários para vários tipos de softwares, incluindo o Tomcat, Jetty, Glassfish, Cassandra e Jenkins.

Neste guia, você instalará várias versões do Java Runtime Environment (JRE) e do Java Developer Kit (JDK) usando o apt. Você instalará o OpenJDK assim como o JDK oficial da Oracle. Em seguida, você irá selecionar a versão que deseja usar para seus projetos. Quando terminar, você será capaz de usar o JDK para desenvolver softwares ou usar o Java Runtime para executar softwares.

Pré-requisitos

java illustration for: Pré-requisitos

Para seguir este tutorial, você vai precisar do seguinte:

Instalando o JRE/JDK padrão

A opção mais fácil para instalar o Java é usar a versão empacotada com o Ubuntu. Por padrão, o Ubuntu 20.04 inclui o Open JDK 11, que é uma variante de código aberto do JRE e do JDK.

Para instalar esta versão, primeiro atualize o índice de pacotes.

				
					
sudo apt update

				
			

A seguir, verifique se o Java já está instalado:

				
					
java -version

				
			

Se o Java não estiver instalado no momento, você verá a seguinte saída:

				
					
[secondary_label Output]

Command 'java' not found, but can be installed with:



sudo apt install default-jre              # version 2:1.11-72, or

sudo apt install openjdk-11-jre-headless  # version 11.0.7+10-3ubuntu1

sudo apt install openjdk-13-jre-headless  # version 13.0.3+3-1ubuntu2

sudo apt install openjdk-14-jre-headless  # version 14.0.1+7-1ubuntu1

sudo apt install openjdk-8-jre-headless   # version 8u252-b09-1ubuntu1

				
			

Execute o seguinte comando para instalar o Java Runtime Environment (JRE) padrão, que instalará o JRE do OpenJDK 11:

				
					
sudo apt install default-jre

				
			

O JRE permitirá que você execute quase todos os softwares Java.

Verifique a instalação com:

				
					
java -version

				
			

Você verá o seguinte resultado:

				
					
[secondary_label Output]

openjdk version "<^>11.0.7<^>" 2020-04-14

OpenJDK Runtime Environment (build <^>11.0.7+10<^>-post-Ubuntu-3ubuntu1)

OpenJDK 64-Bit Server VM (build <^>11.0.7+10<^>-post-Ubuntu-3ubuntu1, mixed mode, sharing)

				
			

Você pode precisar do Java Development Kit (JDK) além do JRE para compilar e executar alguns softwares específicos baseados no Java. Para instalar o JDK, execute o seguinte comando, que também instalará o JRE:

				
					
sudo apt install default-jdk

				
			

Verifique se o JDK está instalado verificando a versão do javac, o compilador do Java:

				
					
javac -version

				
			

Você verá o seguinte resultado:

				
					
[secondary_label Output]

javac <^>11.0.7<^>

				
			

A seguir, vejamos como instalar o JDK e o JRE oficiais da Oracle.

Instalando o Oracle JDK 11

O contrato de licenciamento da Oracle não permite a instalação automática através do gerenciador de pacotes. Para instalar o Oracle JDK, que é a versão oficial distribuída pela Oracle, você deve criar uma conta na Oracle e baixar manualmente o JDK para adicionar um novo repositório de pacotes para a versão que você gostaria de usar. Em seguida, você pode usar o apt para instalá-lo com ajuda de um script de instalação de terceiros.

A versão do JDK da Oracle que você precisará baixar deve corresponder à versão do script de instalação. Para descobrir qual versão você precisa, visite a página oracle-java11-installer.

Localize o pacote identificado como local, como mostrado na figura a seguir:

Nesta imagem, a versão do script é 11.0.7. Neste caso, você precisará do Oracle JDK 11.0.7. Você não precisa baixar nada desta página; você baixará o script de instalação através do apt em breve.

Em seguida, visite a página de Downloads e localize a versão que corresponda àquela que você precisa.

Clique no botão JDK Download e você será levado para uma tela que mostra as versões disponíveis. Clique no pacote .tar.gz para o Linux.

Você verá uma tela solicitando que você aceite o contrato de licença da Oracle. Selecione a caixa de verificação para aceitar o contrato de licença e pressione o botão Download. Seu download irá iniciar. Você pode precisar fazer login na sua conta Oracle mais uma vez antes que o download comece.

Após o download do arquivo, você precisará transferi-lo para seu servidor. Em sua máquina local, faça o upload do arquivo para seu servidor. No macOS, Linux ou Windows usando o Windows Subsystem for Linux, utilize o comando scp para transferir o arquivo para o diretório home do seu usuário <^>sammy<^>. O seguinte comando supõe que você salvou o arquivo do Oracle JDK na pasta de Downloads da sua máquina local:

				
					
[environment local]

scp Downloads/jdk-&lt;^&gt;11.0.7&lt;^&gt;_linux-x64_bin.tar.gz &lt;^&gt;sammy&lt;^&gt;@&lt;^&gt;your_server_ip&lt;^&gt;:~

				
			

Depois que o upload do arquivo for concluído, volte para seu servidor e adicione o repositório de terceiros que o ajudará a instalar o Java da Oracle.

Instale o pacote software-properties-common, que adiciona o comando add-apt-repository ao seu sistema:

				
					
sudo apt install software-properties-common

				
			

A seguir, importe a chave de assinatura usada para verificar o software que você está prestes a instalar:

				
					
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A

				
			

Você verá este resultado:

				
					
[secondary_label Output]

gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported

gpg: Total number processed: 1

gpg:               imported: 1

				
			

Em seguida, utilize o comando add-apt-repository para adicionar o repositório à sua lista de origens de pacotes:

				
					
sudo add-apt-repository ppa:linuxuprising/java

				
			

Você verá esta mensagem:

				
					
[secondary_label Output]

 Oracle Java 11 (LTS) and 12 installer for Ubuntu, Linux Mint and Debian.



Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java 11, so a working Internet connection is required.



The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java



Created for users of https://www.linuxuprising.com/



Installation instructions (with some tips), feedback, suggestions, bug reports etc.:



. . .



Press [ENTER] to continue or ctrl-c to cancel adding it

				
			

Pressione ENTER para continuar a instalação. Você pode ver uma mensagem sobre no valid OpenPGP data found, mas você pode ignorar isso com segurança.

Atualize sua lista de pacotes para tornar o novo software disponível para ser instalado:

				
					
sudo apt update

				
			

O instalador irá procurar pelo Oracle JDK que você baixou em /var/cache/oraile-jdk11-installer-local. Crie este diretório e mova o arquivo do Oracle JDK para lá:

				
					
sudo mkdir -p /var/cache/oracle-jdk11-installer-local/

sudo cp jdk-&lt;^&gt;11.0.7&lt;^&gt;_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/

				
			

Por fim, instale o pacote:

				
					
sudo apt install oracle-java11-installer-local

				
			

O instalador irá primeiro pedir que você aceite o contrato de licença da Oracle. Aceite o contrato, então o instalador irá extrair o pacote Java e instalá-lo.

Agora, vamos ver como selecionar qual versão do Java você deseja usar.

Gerenciando o Java

Você pode ter várias instalações do Java em um servidor. Você pode configurar qual versão é o padrão para o uso na linha de comando usando o comando update-alternatives.

				
					
sudo update-alternatives --config java

				
			

É assim que a saída seria se você instalasse as duas versões do Java neste tutorial:

				
					
[secondary_label Output]

There are 2 choices for the alternative java (providing /usr/bin/java).



  Selection    Path                                         Priority   Status

------------------------------------------------------------

  0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      auto mode

  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      manual mode

* 2            /usr/lib/jvm/java-11-oracle/bin/java          1091      manual mode



Press &lt;enter&gt; to keep the current choice[*], or type selection number:

				
			

Escolha o número associado à versão do Java para usá-la como padrão, ou pressione ENTER para deixar as configurações atuais.intactas.

Você pode fazer isto para outros comandos do Java, como o compilador (javac):

				
					
sudo update-alternatives --config &lt;^&gt;javac&lt;^&gt;

				
			

Outros comandos para os quais este comando pode ser executado incluem, mas não se limitam a: keytool, Javadoc e jarsigner.

Configurando a variável de ambiente JAVA_HOME

Muitos programas escritos usando o Java usam a variável de ambiente JAVA_HOME para determinar a localização da instalação do Java.

Para definir esta variável de ambiente, primeiro verifique onde o Java está instalado. Use o comando update-alternatives:

				
					
sudo update-alternatives --config java

				
			

Este comando mostra cada instalação do Java junto com seu caminho de instalação:

				
					
[secondary_label Output]

There are 2 choices for the alternative java (providing /usr/bin/java).



  Selection    Path                                         Priority   Status

------------------------------------------------------------

  0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      auto mode

  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      manual mode

* 2            /usr/lib/jvm/java-11-oracle/bin/java          1091      manual mode



Press &lt;enter&gt; to keep the current choice[*], or type selection number:

				
			

Neste caso, os caminhos de instalação são os seguintes:

  1. O OpenJDK 11 está localizado em /usr/lib/jvm/java-11-openjdk-amd64/bin/java.
  1. O Java da Oracle está localizado em /usr/lib/jvm/java-11-oraile/jre/bin/java.

Copie o caminho da sua instalação preferida. Em seguida, abra o /etc/environment usando o nano ou seu editor de texto favorito:

				
					
sudo nano /etc/environment

				
			

No final deste arquivo, adicione a seguinte linha, certificando-se de substituir o caminho destacado pelo seu próprio caminho copiado, mas não inclua a parte bin/ do caminho:

				
					
[label /etc/environment]

JAVA_HOME="&lt;^&gt;/usr/lib/jvm/java-11-openjdk-amd64&lt;^&gt;"

				
			

A modificação deste arquivo irá definir o caminho do JAVA_HOME para todos os usuários no seu sistema.

Salve o arquivo e saia do editor.

Agora, recarregue este arquivo para aplicar as alterações na sua sessão atual:

				
					
source /etc/environment

				
			

Verifique se a variável de ambiente está definida:

				
					
echo $JAVA_HOME

				
			

Você verá o caminho que você acabou de definir:

				
					
[secondary_label Output]

&lt;^&gt;/usr/lib/jvm/java-11-openjdk-amd64&lt;^&gt;

				
			

Outros usuários precisarão executar o comando source /etc/environment ou sair e fazer login novamente para aplicar esta configuração.

Conclusão

Neste tutorial, você instalou várias versões do Java e aprendeu como gerenciá-las. Agora, você pode instalar softwares que são executados no Java, como o Tomcat, Jetty, Glassfish, Cassandra ou Jenkins.