Oracle Java 17 LTS foi lançado recentemente, e está agora disponível para instalar a partir do Linux Uprising Oracle Java PPA no Ubuntu, Debian e distribuições Linux com base nestes, como Pop!_OS, Linux Mint, Zorin OS, etc.
Java 17 é o suporte mais recente de longo prazo (LTS), e com ele, a licença mudou, os binários sendo grátis (sem custo) para usar em produção e grátis (sem custo) para redistribuir até um ano após a próxima versão LTS. Anteriormente (do Oracle Java 11 até agora), a Oracle Java utilizava uma licença comercial que permitia o download e uso sem nenhum custo para desenvolvimento e testes apenas, mas era necessário pagar uma taxa para uso em produção.
Se você preferir usar a compilação de código aberto do JDK, confira as oferecidas por AdoptOpenJDK ou Zulu OpenJDK.
Eu gostaria de notar que, apesar do Oracle Java 17 poder ser redistribuído, os termos do Launchpad PPA não parecem permitir empacotá-lo em um PPA, devido à sua licença. Assim, o Linux Uprising Oracle Java PPA continua a usar um script que baixa automaticamente o Oracle Java (os binários não estão hospedados no Launchpad PPA). Este instalador do Oracle Java 17 é baseado no pacote Webupd8 Java (os créditos vão para seus criadores originais), com pequenas modificações. Este pacote faz automaticamente o download, instala (com alguns ajustes, como a melhor renderização de fontes, adiciona entradas do menu de aplicações, etc.) e, opcionalmente, define o Oracle Java 17 como o padrão Java (roda update-alternatives, as exportações de variável de ambiente JAVA_HOME
, etc. ) em seu sistema.
A Oracle faz pacotes DEB para o Oracle Java, no entanto, esses pacotes simplesmente copiam os binários Java para /usr/lib/jvm
, sem fazer qualquer outra coisa, por isso é exatamente o mesmo que copiar o diretório Java para esse local sozinho.
Usando este PPA você pode instalar o Oracle Java 17 para arquiteturas x64 e aarch64.
Adicione o repositório Linux Uprising Oracle Java PPA e atualize as fontes de software no Ubuntu, Linux Mint, Pop!_OS ou Zorin Os usando os seguintes comandos:
sudo add-apt-repository ppa:linuxuprising/javasudo apt update
Adicione o repositório Linux Uprising Oracle Java PPA (e sua chave) e atualize as fontes de software em Debian e outras distribuições Linux baseadas em Debian (mas não Ubuntu e baseadas no Ubuntu) usando:
su -echo "deb http://ppa.launchpad.net/linuxuprising/java/ubuntu focal main" | tee /etc/apt/sources.list.d/linuxuprising-java.listapt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 73C3DB2Aapt-get updateexit
Agora você pode instalar o Oracle JDK 17 em distribuições Debian/Ubuntu e Linux baseados em estes:
sudo apt install oracle-java17-installer --install-recommends
sudo apt install oracle-java17-installer --no-install-recommends
Você pode controlar se o Oracle JDK 17 é a versão JDK padrão (rodar update-alternatives
exporta a variável de ambiente JAVA_HOME
, etc.) ou não com a ajuda do pacote oracle-java17-set-default
. Se estiver instalada, a Oracle JDK 17 é definida como padrão; remover este pacote, então o Oracle Java 17 não está definido como padrão (a menos que seja a única versão Java no sistema).
Este pacote é definido como um pacote recomendado para o instalador do Oracle Java 17, é por isso que a instalação de oracle-java17-installer
com --install-recommends
também instala oracle-java17-set-default
.
Para verificar qual versão Java é definida como padrão no seu sistema, você pode executar java -version
e/ou javac -version
. Exemplo com saída que mostra o Oracle Java 17 como padrão:
$ java -versionjava version "17" 2021-09-14 LTSJava(TM) SE Runtime Environment (build 17+35-LTS-2724)Java HotSpot(TM) 64-Bit Server VM (build 17+35-LTS-2724, mixed mode, sharing)$ javac -versionjavac 17
Em alguns casos, o instalador pode falhar para baixar os arquivos do Oracle Java 17 .tar.gz
da Oracle. Existem vários problemas possíveis para isso: você está atrás de um roteador/firewall que impede isso, sua conexão com a Internet caiu durante o processo de transferência, etc.
Para contornar isso, você pode baixar este arquivo manualemnte da Oracle por outros meios, por exemplo, indo para casa de um amigo, usando um navegador web com um proxy, etc., e, em seguida, colocar o arquivo .tar.gz do Oracle Java 17 baixado em /var/cache/oracle-jdk17-installer
(crie esta pasta como root, se ela não existir), em seguida, instale o pacote oracle-java17-installer
do Linux Uprising Oracle Java PPA como explicado acima.
Desta forma, o instalador do Oracle Java 17 usa o arquivo local ao invés de tentar fazer o download. Verifique se o .tar.gz baixado do Oracle Java 17 e o pacote Oracle Java Installer do PPA são ambos a mesma versão, ou então isso não vai funcionar.
Baixar e instalar o Oracle Java 17 exige que o usuário aceite uma licença. Em alguns casos, como quando se usa isso em um script automatizado, você pode querer aceitar automaticamente a licença usando um comando. Você pode fazer isso usando:
echo oracle-java17-installer shared/accepted-oracle-license-v1-3 select true | sudo /usr/bin/debconf-set-selections
Se não funcionar, também pode tentar este comando:
echo oracle-java17-installer shared/accepted-oracle-licence-v1-3 boolean true | sudo /usr/bin/debconf-set-selections
Temos vários artigos sobre Java aqui no blog. Veja esse em que ensinamos como instalar/alternar entre várias versões do Java usando SDKMAN.
Esse post foi traduzido do site LinuxUprising.com pela rtland.team.
Confira a versão original desse post em inglês:
How to Install Oracle Java 17 LTS On Ubuntu, Debian, Linux Mint Or Pop!_OS Via APT PPA Repository