Tutorial

Como instalar o Java com o Apt no Ubuntu 20.04

JavaUbuntu 20.04

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

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:

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:

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:

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:

Installer package for Ubuntu 20.04

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.

Oracle Java 11

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.

Linux download

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:

  • scp Downloads/jdk-11.0.7_linux-x64_bin.tar.gz sammy@your_server_ip:~

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:

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:

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-11.0.7_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:

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 <enter> 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 javac

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:

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 <enter> 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.
  2. 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:

/etc/environment
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"

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:

Output
/usr/lib/jvm/java-11-openjdk-amd64

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.

Creative Commons License