Como instalar manualmente o ambiente de execução Java (JRE) no Ubuntu Linux 

Java 21/JDK 21 fica disponível com threads virtuais e ZGC geracional
java

Este guia é um recurso abrangente para usuários do Ubuntu Linux que desejam instalar o Ambiente de Execução Java (JRE) manualmente. Inicialmente, o tutorial focava no uso do JRE com o Banco do Brasil e vários navegadores web. No entanto, a descontinuação da tecnologia NPAPI (Netscape Plugin API) por muitos navegadores redirecionou nosso foco para a instalação do JRE no Ubuntu Linux.

Impacto do Firefox 52.0.1

A partir do lançamento do Firefox 52.0.1 em 17 de março de 2017, que interrompeu o suporte a plugins NPAPI (exceto o plugin NPAPI do Adobe Flash), os usuários passaram a depender do Mozilla Firefox, o único navegador que continuou suportando plugins NPAPI. Contudo, com a migração dos bancos para outras soluções de segurança, como o Warsaw, que utiliza a tecnologia de websockets e SSL, o propósito deste tutorial evoluiu para a instalação do JRE no Linux Ubuntu.

Quem deve usar este tutorial

Este tutorial é destinado a usuários do Ubuntu Linux e suas variantes (XUbuntu, KUbuntu, LUbuntu etc.) que, por exemplo, desejam fazer a Declaração de Imposto de Renda no Linux usando o programa DIRPF, construído em Java e, portanto, requer o JRE instalado. Outros programas que são executados diretamente no computador e que requerem a instalação do JRE, mas não do plugin NPAPI do JRE, incluem o SMS Power View e o Sweet Home 3D.

O que você aprenderá?

Nosso objetivo é orientar você na obtenção e instalação do tarball (arquivo com extensão .tar.gz) do Sun Java (JRE) no sistema, além de atualizar o JRE e também desinstalá-lo. Se você não sabe a diferença entre JDK, JRE e JVM, recomendamos a leitura da explicação resumida neste post.

Outras distribuições suportadas

Embora este tutorial seja voltado para distribuições GNU/Linux Ubuntu, o método de instalação aqui explicado pode funcionar também em distribuições Debian e em outras baseadas no Debian, como o Linux Mint, o LXLE e o Elementary OS, já que as próprias distros Ubuntu são baseadas na distro Debian.

Como o tutorial é organizado

Este tutorial é extenso e foi dividido em seções, cada uma delas em um post diferente. Isso é intencional: nosso objetivo é ser didático, ajudar você não apenas a resolver o seu problema, mas também a entender o que você está fazendo para resolver o problema e, se possível, aprender o suficiente para gradativamente ir deixando de depender deste tutorial.

Escolhendo o método de instalação

Existem várias maneiras de instalar o Sun Java no seu sistema. Este tutorial apresenta uma forma totalmente manual de instalação. Você pode querer tentar modos mais simples, mais práticos, mais fáceis ou mais convenientes para as suas necessidades e interesses, e recorrer a este tutorial somente se nada mais funcionar.

Prós e contras do método manual

O aspecto negativo deste tutorial é que ele requer que você desinstale e atualize o Java manualmente, sempre que uma nova versão dele surgir. O aspecto positivo é que este método funciona, ou pelo menos reduz drasticamente a possibilidade de algo dar errado. Depois que você se acostumar com a instalação e desinstalação manual, atualizar manualmente o seu Java não demorará mais que 5 minutos: o mesmo tempo que você gastaria usando outro método.

Cuidados com repositórios não oficiais

Não recomendamos a instalação do Sun Java através de PPA não oficiais ou outros repositórios não oficiais (repositórios de terceiros). Quem mantém o repositório pode demorar para atualizar os arquivos, o que pode expor seu sistema a falhas de segurança que foram descobertas, mas estão corrigidas apenas na versão mais recente do Sun Java. O mantenedor do repositório pode estar agindo de má fé. Por exemplo: ele pode, intencionalmente ou não, excluir código importante ou incluir códigos maliciosos nos arquivos do repositório – e você vai instalá-los sem saber.

Um pouco sobre o Java

Para quem não sabe, quem criou a plataforma computacional Java e a respectiva linguagem de programação Java foi a empresa Sun Microsystems. No entanto, a empresa Oracle comprou a Sun em 2010, após um acordo de compra e venda ser celebrado em abril de 2009. Portanto, as expressões “Sun Java”, “Java da Sun”, “Oracle Java” e “Java da Oracle” são sinônimas: tanto faz usar qualquer uma delas.

Atenção ao usuários do WARSAW do Banco do Brasil

Como instalar o Warsaw manualmente. Como resolver o problema com o socket do Warsaw. Como remover completamente o Warsaw e o programa HDA_BB e, em seguida, executar a reinstalação completa.

Firefox + Plugin JAVA

Caso queira instalar o Firefox 51 (última versão do Firefox a ainda funcionar com o plugin Java) em paralelo com o Firefox atual (para poder usar o Firefox 51 com o plugin Java, mas também poder usar o Firefox mais recente durante sua rotina cotidiana), siga os procedimentos que constam neste tutorial.

Tutorial – Seção 1: Instalando o Sun Java (JRE da Sun/Oracle)

Você pode consultara versão do JAVA diretamente no site oficial.

1.1. Baixe e instale o Sun Java (JRE da Sun/Oracle)

Abra uma janela do terminal do shell (não use o modo root / superusuário) e então execute o supercomando abaixo (um supercomando é uma concatenação/combinação de vários comandos em uma única linha de comando). O supercomando abaixo serve tanto para instalar quanto para atualizar o JRE:

if [ -d /opt/java ]; then sudo rm -rf /opt/java; fi; sudo mkdir /opt/java; if [ `getconf LONG_BIT` == 64 ]; then sudo wget -4 https://javadl.oracle.com/webapps/download/AutoDL?BundleId=249840_43d62d619be4e416215729597d70b8ac -O /opt/java/jre.tgz; else sudo wget -4 https://javadl.oracle.com/webapps/download/AutoDL?BundleId=249838_43d62d619be4e416215729597d70b8ac -O /opt/java/jre.tgz; fi; cd /opt/java; sudo tar -xvf jre.tgz; sudo mv ./jre1* ./jre; sudo rm -f ./jre*.tgz

1.2. Diga ao seu sistema que o Sun Java é o seu JRE padrão. Se (e somente se) você NUNCA executou o comando a seguir, deste tutorial, então execute-o, no terminal do shell:

sudo update-alternatives --install /usr/bin/java java /opt/java/jre/bin/java 10; sudo update-alternatives --set java /opt/java/jre/bin/java

1.3. Confirme se a instalação foi bem-sucedida

Embora não seja possível verificar diretamente qual é a versão do seu JRE padrão, você pode fazer isso indiretamente perguntando ao seu sistema qual é a versão da JVM que faz parte do seu JRE padrão. Para fazer isso, execute o seguinte comando:

java -version

Se a resposta do comando acima contiver algo como:

java version "1.8.0_401"

…então o JRE da Sun foi realmente instalado e está corretamente configurado para ser o padrão do seu sistema.

1.4. Crie um atalho para o painel de controle do JRE

Se você já criou um atalho para o Painel de Controle do JRE da Sun/Oracle em uma instalação anterior do JRE e não o excluiu, você pode ignorar esta etapa, pois o atalho previamente criado continuará válido e funcional após você atualizar o JRE.

As distribuições *Ubuntu (Ubuntu, XUbuntu etc.) geralmente reconhecem (e exibem no menu de aplicativos) os arquivos .desktop que você coloca dentro de /usr/share/applications/. Como o JCONTROL (Painel de Controle do JRE proprietário da Sun/Oracle) não precisa necessariamente ser executado via terminal do shell, você pode querer criar um atalho para ele aparecer diretamente no menu de aplicativos. Se esse for o caso, siga estes passos:

1.4.1. Execute o seguinte comando para instalar o GEdit, caso ainda não o tenha:

sudo apt-get install gedit -y

1.4.2. Agora execute o GEdit em modo de superusuário. Eis o comando:

sudo gedit /usr/share/applications/jcontrol.desktop

1.4.3. Se você instalou o JRE proprietário da Sun/Oracle conforme explicado neste tutorial, o binário executável jcontrol estará localizado em /opt/java/jre/bin/jcontrol.

Neste caso, copie e cole o seguinte texto dentro da janela do GEdit:

[Desktop Entry]
Version=1.0
Type=Application
Name=Painel de controle Sun/Oracle JRE
Comment=Abre o painel de controle do Ambiente de Execução Java (JRE) proprietário da Sun/Oracle
Icon=/opt/java/jre/lib/images/icons/sun-java.png
Exec=/opt/java/jre/bin/jcontrol
NoDisplay=false
Categories=Java;Other;
StartupNotify=false
Terminal=false

1.4.4. Agora salve o arquivo e feche o GEdit.

Reinicie o computador, apenas para garantir que o menu de aplicativos será atualizado. Feito isso, ao procurar Sun/Oracle no menu de aplicativos, você deverá ver um atalho para o painel de controle.

Se você quiser excluir esse item do menu, basta executar este comando no terminal do shell:

sudo rm -f /usr/share/applications/jcontrol.desktop

Se preferir executar o JCONTROL diretamente via terminal do shell, basta executar este comando:

/opt/java/jre/bin/jcontrol && exit

…ou então este outro comando:

ControlPanel && exit

Se o comando ControlPanel acima não funcionar, execute este comando para adicionar a localização dele ao arquivo de configuração do seu Bash (que é o shell ou “interpretador de comandos” padrão do *Ubuntu):

echo PATH=\$PATH:/opt/java/jre/bin |tee -a ~/.bashrc

Após executar o comando acima e reiniciar o computador ou efetuar logoff e login novamente, a variável de ambiente PATH será recarregada com a informação de que os binários (ou seja, arquivos executáveis) do JRE da Sun/Oracle estão localizados em /opt/java/jre/bin, por isso o comando ControlPanel começará a funcionar.

Agora, se você quiser instalar o Firefox 51 (última versão do Firefox que ainda funciona com o plugin Sun Java) sem prejudicar a instalação do seu Firefox atual (ou seja, se quiser executar duas versões diferentes do Firefox, em paralelo e sem conflitos), siga as dicas que apresento neste tutorial. 🙂

Tutorial – Seção 2: Desinstalando o Sun Java (JRE)

Se você já possui ao menos uma versão anterior do Sun Java em seu sistema e ela foi instalada de acordo com o método ensinado na SEÇÃO 1 deste tutorial (instalação via tarball), siga os passos explicados nesta seção para poder fazer a desinstalação.

Se pretende instalar a versão mais recente do Sun Java, é recomendável que faça isso somente após ter removido todas as versões anteriores do Sun Java que estiverem instaladas em seu sistema. Remova tudo e somente depois instale a versão mais recente.

É altamente recomendável que você remova do sistema todas as versões anteriores do Sun Java, porque manter tais versões antigas instaladas representa um risco à segurança. A remoção das versões anteriores garante que, após você instalar a versão mais recente do Sun Java, os aplicativos Java serão executados com os aprimoramentos de segurança e desempenho mais atualizados disponíveis para o seu sistema GNU/Linux.

2.1. (desfaz o item 1.1) Desinstale o JAVA

Esteja você em um sistema de 32 ou de 64 bits, abra seu gerenciador de arquivos em modo superusuário (root) e exclua todas as subpastas de /opt/java/ (inclusive a pasta java), ou então execute este comando no terminal do shell:

sudo rm -rf /opt/java

Se você pretende usar a SEÇÃO 1 deste tutorial para instalar ou reinstalar, em /opt/java/, a versão mais recente (ou qualquer outra) do Sun Java, então o comando acima é suficiente: neste caso, NÃO EXECUTE OS COMANDOS ABAIXO!

2.2. (desfaz o item 1.2) Diga ao seu sistema que o Sun Java não é mais o seu JRE padrão.

Se você NÃO pretende instalar qualquer versão do Sun Java (ou pretende instalar o Sun Java em outro local, usando um método diferente do ensinado neste tutorial), então entre no terminal do shell e execute o comando abaixo, que dirá ao seu sistema que não existe mais nenhuma JVM da Sun instalada em /opt/java/jre:

sudo update-alternatives --remove java /opt/java/jre/bin/java

2.3. Desvincule o plugin Sun Java do seu navegador.

Considerando que os navegadores não mais oferecem suporte a plugins NPAPI, você provavelmente quer excluir os atalhos que possivelmente havia criado para os seus navegadores na época em que os plugins NPAPI ainda funcionavam neles. Enfim: para remover os atalhos (e, deste modo, desvincular seus navegadores e o plugin do JRE), basta executar os comandos abaixo informados.

Google Chrome:

sudo rm -f /opt/google/chrome/plugins/sunjava

Google Chromium:

sudo rm -f /usr/lib/chromium-browser/plugins/sunjava

Mozilla Firefox:

sudo rm -f /usr/lib/firefox-addons/plugins/sunjava

Opera Browser:

sudo rm -f /usr/lib/opera/plugins/sunjava

Mozilla SeaMonkey:

sudo rm -f /opt/mozilla/seamonkey/plugins/sunjava

Atalho genérico que você havia criado para funcionar com todos os seus navegadores baseados na arquitetura Gecko/Mozilla:

sudo rm -f /usr/lib/mozilla/plugins/sunjava

Pronto! Todas as instalações do Sun Java foram removidas.

Agora, caso deseje instalar a versão mais recente do Sun Java usando os passos deste tutorial, siga para a SEÇÃO 1.

Tutorial – Seção 3: Solução de Problemas

3.1. “Fiz tudo conforme o tutorial, mas o JRE ainda não está funcionando”

Se, mesmo após seguir todos os passos do tutorial e confirmar via terminal do shell (comando java -version), o JRE ainda não estiver funcionando, considere investigar alguns dos seguintes problemas comuns:

3.1.1. Cache

Para acelerar a inicialização do programa Java, o JRE armazena os dados desse programa no próprio cache (ou seja, no disco rígido do seu computador). No entanto, quando o programa é atualizado, o JRE pode continuar inicializando certos componentes do programa a partir do cache do JRE, em vez de inicializar esses componentes (atualizados) a partir da nova instalação do programa. Para resolver o problema do cache do JRE, a solução é acessar o painel de controle do Sun/Oracle Java e limpar o cache manualmente.

3.1.2. Diferentes versões do mesmo programa

Também pode ocorrer de o programa que você está usando (e que depende do JRE para funcionar) não possuir uma função que permita detectar diferentes versões dele. Neste caso, o programa novo, ao tentar se instalar em seu sistema, poderá “desistir” de se instalar porque identificou que o seu sistema já possui o mesmo programa instalado, embora o programa que se encontre em seu sistema seja de uma versão antiga e que não funciona mais com o JRE (ou não funciona com as mesmas características da versão mais nova do programa).

3.1.3. Pasta oculta do Sun Java

Outro problema recorrente diz respeito à pasta oculta /etc/.java/.systemPrefs/ (pasta de configurações globais do JRE): às vezes ela não existe, ou existe, porém as permissões de acesso (leitura, gravação e execução) estão erradas. Também pode haver algum problema na pasta oculta .java que se encontra dentro da sua pasta pessoal: às vezes essa pasta não existe, ou existe com permissões de acesso erradas, ou está com algum arquivo corrompido ou desconfigurado.

Para resolver esses problemas, feche todos os seus programas que porventura estejam abertos e dependam do JRE para funcionar. Após fechar todos eles, execute os procedimentos a seguir.

Como limpar o cache do JRE manualmente?

Para limpar o cache do Ambiente de Execução Java (JRE) manualmente, você pode seguir os passos abaixo:

  1. Abra o Painel de Controle do Java. Você pode fazer isso pesquisando por “Java” no menu Iniciar (Windows) ou no Launchpad (macOS). No Linux, você pode executar o comando jcontrol no terminal.
  2. No Painel de Controle do Java, clique na guia “Geral”.
  3. Na seção “Arquivos Temporários da Internet”, clique no botão “Configurações…”.
  4. Na janela que se abre, clique no botão “Excluir Arquivos…”.
  5. Na janela de confirmação que aparece, marque todas as caixas (“Arquivos de Aplicativos e Applets” e “Rastros e Logs”) e clique em “OK”.
  6. Clique em “OK” novamente para fechar a janela de Configurações.
  7. Clique em “OK” para fechar o Painel de Controle do Java.

Isso deve limpar o cache do JRE. Lembre-se de fechar todos os aplicativos Java antes de realizar essas etapas.