Substitua openjdk pelo oracle-jdk no Ubuntu


53

Eu tenho um sistema ubuntu e quero substituir meu openjdk pelo oracle-jdk.

No entanto, se eu remover o open-jdk e instalar o oracle-jdk, quando tento instalar alguns pacotes, eles desejam instalar o openjdk e não quero isso.

Existe alguma maneira de instalar esses pacotes em cima do oracle-jdk? Um desses pacotes é o freemind.


Quais pacotes requerem o open-jdk que você deseja instalar? (além do freemind)
Seth

Eu peguei o oracle-jdk se adicionando ao PATHin /etc/profile.d/jdk.sh. A remoção deste arquivo e o início de um novo shell permitiram o update-alternativesseu trabalho.
jozxyqk

Respostas:


78

Você pode remover completamente a OpenJDKinstalação nova e Oracle Java JDKseguindo estas etapas:

  1. Remova OpenJDKcompletamente por este comando:

    sudo apt-get purge openjdk-\*
  2. Faça o download do Oracle Java JDK aqui .

    Nota: faça o download do arquivo apropriado, por exemplo, se o seu sistema for x64 Ubuntu (ou seja, Debian), o arquivo de download terá o seguinte nome:jdk-8u51-linux-x64.tar.gz

    Para descobrir qual versão é o seu sistema operacional, verifique aqui

  3. Crie uma pasta chamada javaem /usr/local/por este comando:

    sudo mkdir -p /usr/local/java
  4. Copie o arquivo baixado no diretório /usr/local/java. Para fazer isso, cdno diretório em que o arquivo baixado está localizado e use este comando para copiar esse arquivo para /usr/local/java/:

    sudo cp -r jdk-8u51-linux-x64.tar.gz /usr/local/java/
  5. CD no /usr/local/java/diretório e extraia esse arquivo copiado usando este comando:

    sudo tar xvzf jdk-8u51-linux-x64.tar.gz
  6. Após a extração, você deve ver uma pasta chamada jdk1.8.0_51.

  7. Atualize o PATHarquivo abrindo o /etc/profilearquivo pelo comando sudo nano /etc/profilee cole o seguinte no final do arquivo:

    JAVA_HOME=/usr/local/java/jdk1.8.0_51
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
    export JAVA_HOME
    export PATH
  8. Salvar e sair.

  9. Informe ao sistema que a nova versão do Oracle Java está disponível pelos seguintes comandos:

    sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_51/bin/java" 1
    sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_51/bin/javac" 1
    sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_51/bin/javaws" 1
  10. Torne o Oracle Java JDK como padrão por meio dos seguintes comandos:

    sudo update-alternatives --set java /usr/local/java/jdk1.8.0_51/bin/java
    sudo update-alternatives --set javac /usr/local/java/jdk1.8.0_51/bin/javac
    sudo update-alternatives --set javaws /usr/local/java/jdk1.8.0_51/bin/javaws
  11. Recarregue o PATH / etc / profile amplo do sistema por este comando:

    source /etc/profile
  12. Reinicie seu sistema.

  13. Verifique a versão do Java JDK por java -versioncomando. Se a instalação for bem sucedida, será exibida da seguinte forma:

    java version "1.8.0_51"
    Java(TM) SE Runtime Environment (build 1.8.0_51-xxx)
    Java HotSpot(TM) Server VM (build 25.51-xxx, mixed mode)

É isso aí!

Nota: Assumimos que o arquivo baixado é nomeado jdk-8u51-linux-x64.tar.gze utilizou esse nome em todos os comandos usados ​​nas etapas 2, 4 e 5. Pode depender do tipo de SO, tipo de processador (ou seja, 32 bits ou 64 bits)


11
Além disso, está a maneira correta de instalar manualmente o oracle-jdk, e também existe um pacote disponível no WebUpd8 PPA que também será atualizado. Portanto, não há necessidade de instalar todas as novas versões manualmente. Veja minha resposta aqui: askubuntu.com/questions/466166/...
lschuetze

2
Em vez de usar o diretório jdk1.8.0_51, crie um link simbólico chamado apenas "jdk" para esse diretório e, na próxima atualização, extraia o tarball do JDK e recrie o link simbólico e pronto.
ColinM 04/08

para os usuários do Ubuntu: há um método infalível abaixo de @mihaic que funciona bem para mim
Carson Ip

Você é rockstar
Bhupinder

Observe que se você deseja fazer o download do JDK no Ubuntu Server (sem GUI), pode usar o seguinte comando: wget --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/9.0.4+11/c2514751926b4512b076cc82f959763f/jdk-9.0.4_linux-x64_bin.tar.gz" Você sempre pode copiar a versão mais recente, retornando à página de download do Oracle e gerando uma nova.
Toan Nguyen

20

Você não precisa remover o openjdk para usar / instalar o jdk do oracle. Basta instalar o jdk do oracle e configurar qual java você deseja usar, configurando-o com:

sudo update-alternatives --config java

Você pode encontrar mais ajuda aqui: https://help.ubuntu.com/community/Java


Eu preciso de uma maneira de ter apenas um java no meu ubuntu. TNX.
pouco ali

Esta é uma ótima resposta. O Groovy no Debian jessie força a instalação do openjdk, mas o trabalho que faço requer (não pergunte) o Oracle JDK para compilação. Essa opção me permitiu deixar o openjdk e o oracle jdk instalados para que tudo funcione bem. Obrigado!
sanimalp 8/09/16

11

Testado no Ubuntu 14.04 / 16.04. Em três etapas:

  1. Instale o oracle-java7-installer(ou oracle-java8-installer) do repositório webupd8team

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java7-installer
  2. Verifique se ele funciona com o seguinte comando:

    java -version

    Ele deve exibir algo semelhante a:

    java version "1.7.0_76"
    Java(TM) SE Runtime Environment (build 1.7.0_76-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 24.76-b04, mixed mode)
  3. (Opcional) Remova o open-jdk se você realmente deseja / precisa:

    sudo apt-get purge openjdk-\*

Você pode encontrar mais informações aqui


Seguido seus sentidos e tem um Unable to find java executable. Check JAVA_HOME and PATH environment variables.erro
Zack S

surpreso de encontrar minha própria resposta um ano depois, isso ainda funciona para o Ubuntu 16.04 eoracle-java8-installer
toto_tico

Entendi isso ao adicionar o repositório:W: The repository 'http://ppa.launchpad.net/natecarlson/maven3/ubuntu xenial Release' does not have a Release file. N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
crockpotveggies

8

Após remover o openjdk, tente esta abordagem que funcionou para mim:

Instale o oracle jdk 7 no servidor ubuntu (testado com o ubuntu 12.0.4)

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

mais algumas informações aqui: https://launchpad.net/~webupd8team/+archive/java

(observe para adaptar isso para sua versão do jdk)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.