Como atualizo o Java 8 no Raspbian

19

Meu Raspberry Pi 3 veio com a versão 1.8.0_65 do Java instalada. Não pude atualizá-lo para uma versão posterior usando apt-get- presumo que não exista um repositório Debian para ele. Não sei como atualizá-lo e a instalação de uma versão mais recente não substitui a existente.

Qual é a melhor maneira de instalar / atualizar o Java no Raspbian e mantê-lo atualizado daqui para frente?

Travelling Tech Guy
fonte
Há um processo bastante complicado envolvendo chamar alternativas de atualização para cada componente do JRE / JDK. Oracle não fornece um serviço de atualização automática, que você precisa fazer login manualmente no seu site para download updates.Unless este é missão crítica, eu ia ficar com o padrão Raspbian oráculo-java8-jdk
scruss
@ travelling-tech-guy Se alguma das respostas abaixo respondeu à sua pergunta, marque-a. Se você o resolveu de uma maneira diferente, poste uma resposta para sua própria pergunta e marque-a.
not2qubit 22/03
@ not2qubit nenhum fez, eu tive que desinstalar e reinstalar. Veja meu comentário para segunda resposta.
Traveling Tech Guy

Respostas:

10

Para ter o java Oracle mais recente instalado, você pode verificar o Java atual

pi @ raspberrypi: ~ versão java versão $ java "1.8.0_65" Java (TM) SE Runtime Environment (versão 1.8.0_65-b17) VM cliente Java HotSpot (TM) (versão 25.65-b01, modo misto)

remover OpenJDK

sudo apt-get purge openjdk*

adicionar chave digital

sudo apt-key adv --recv-key --keyserver keyserver.ubuntu.com EEA14886

adicionar fonte de pacote

sudo vim /etc/apt/sources.list

adicione as seguintes linhas

deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main
deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main

instalar o Java 8

sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default

remover Java antigo

sudo apt-get purge openjdk*
sudo apt-get purge java7*
sudo apt-get autoremove

verifique o sucesso

java -version

pi @ raspberrypi: ~ versão java versão $ java "1.8.0_131" Java (TM) SE Runtime Environment (versão 1.8.0_131-b11) VM cliente Java HotSpot (TM) (versão 25.131-b11, modo misto)

hannes ach
fonte
1
Ótima resposta. Eu só tinha a notar que o comando apt-keyfoi colado com o traço longo, que em algum momento teve que substituir acidentalmente dois hífens --para que o comando não funcionou, e resultou em erro estranho: gpg: conflicting commands. Eu editei a resposta para corrigi-la.
SWilk
2
Isso não funcionou com o Rasbian Stretch. As instruções em gist.github.com/ribasco/fff7d30b31807eb02b32bcf35164f11f funcionaram para mim.
22818 Kevin Doyon
sudo apt-get purge java7*Removido oracle-java8-jdk...
Cardinal System
3

Os seguintes conselhos de hannes ach e SWilk foram bem-sucedidos, mas recebi o seguinte erro:

pi@raspberrypi:~ $ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com C2518248EEA14886 
Executing: /tmp/apt-key-gpghome.hVyJ3FPvDb/gpg.1.sh --recv-keys --keyserver keyserver.ubuntu.com C2518248EEA14886 
gpg: failed to start the dirmngr '/usr/bin/dirmngr': No such file or directory 
gpg: connecting dirmngr at '/tmp/apt-key-gpghome.hVyJ3FPvDb/S.dirmngr' failed: No such file or directory 
gpg: keyserver receive failed: No dirmngr

Para resolver isso, executei:

sudo apt-get install dirmngr --install-recommends

então

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

Então, tudo funcionou como esperado.

Informação original daqui https://blog.sleeplessbeastie.eu/2017/11/02/how-to-fix-missing-dirmngr/

Dmitriy Pichugin
fonte
1

Se você deseja novos recursos agora, é possível obter as versões 9 e 10 assim:

wget https://github.com/bell-sw/Liberica/releases/download/10/bellsoft-jre10-linux-arm32-vfp-hflt.debsudo
apt install ./bellsoft-jre10-linux-arm32-vfp-hflt.deb

Liberica para Raspberry Pi: https://www.bell-sw.com/java-for-raspberry-pi.html

Dmitry
fonte
0

Você já tentou este guia? http://elinux.org/RPi_Java#Installing_Java_on_Raspberry_Pi

OpenJDK

sudo apt-get update
sudo apt-get install openjdk-7-jdk

Oracle Java 8

wget http://www.java.net/download/JavaFXarm/jdk-8-ea-b36e-linux-arm-hflt-29_nov_2012.tar.gz
tar zxf jdk-8-ea-b36e-linux-arm-hflt-29_nov_2012.tar.gz
rm jdk-8-ea-b36e-linux-arm-hflt-29_nov_2012.tar.gz
sudo mv ./jdk1.8.0/ /opt/
sudo chown root:root -R /opt/jdk1.8.0/
sudo ln -s /opt/jdk1.8.0/ /opt/jdk8

Edite sudo nano -w /etc/profilee adicione

PATH="$PATH":/opt/jdk8/bin
JAVA_HOME=/opt/jdk8

java -version

para ver se o java está funcionando

Neckbeard2016
fonte
1
Obrigado pela pergunta detalhada, mas eu já tenho o Java 8 instalado. Minha pergunta tem a ver com a atualização para versões mais recentes.
Traveling Tech Guy
Não funciona, o apt-get instalado o Java está tendo precedência sobre o caminho, uma vez que está em/usr/bin/java
Wim Deblauwe
3
Estas são instruções muito antigas e não são mais válidas
scruss 18/09/16
+1 para mudar para openjdk, seja por 7 ou 8, se possível. É muito mais fácil manter-se atualizado do que baixar manualmente novos lançamentos a partir da página da Web da Oracle do que com um simples apt. A versão padrão pode ser trocada facilmente sudo update-alternatives --config java; sudo update-alternatives --config javae precisa ser feita apenas uma vez.
MadMike 21/02