Como definir a versão padrão do Java

7

Eu tenho usado o Java 6 no Ubuntu 11.10, mas agora eu quero atualizar para a versão 7. Eu instalei a versão 7 via PPA como descrito aqui . Se eu correr

sudo update-alternatives --config java

Eu recebo a seguinte saída:

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                     Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-oracle/jre/bin/java   64        auto mode
  1            /usr/lib/jvm/java-6-sun/jre/bin/java      63        manual mode
* 2            /usr/lib/jvm/java-7-oracle/jre/bin/java   64        manual mode

Da mesma forma, se eu executar:

sudo update-alternatives --config javac

Eu recebo a saída:

  Selection    Path                                  Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-7-oracle/bin/javac   64        auto mode
  1            /usr/lib/jvm/java-6-sun/bin/javac      63        manual mode
* 2            /usr/lib/jvm/java-7-oracle/bin/javac   64        manual mode

Então parece que a versão 7 já é o padrão. Mas se eu correr ou

java -version

ou

javac -version

A saída indica que a versão 6 ainda é o padrão. Como posso definir o padrão para a versão 7?

    
por Dónal 16.06.2013 / 00:36

6 respostas

4

De acordo com esta resposta: Como definir a versão padrão do Java?

Tente fornecer o caminho explícito junto com update-alternatives --install primeiro e, em seguida, execute update-alternatives para fazer sua seleção:

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/java-7-oracle/jre/bin/java" 1

sudo update-alternatives --config java

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-7-oracle/bin/javac" 1

sudo update-alternatives --config javac
    
por Aaron 15.07.2014 / 22:07
3

Você precisa definir javac também.

sudo update-alternatives --config javac
    
por Paradiesstaub 16.06.2013 / 00:41
1

Eu tive o mesmo problema. Eu tinha sol jdk6 instalado. Depois

    sudo update-alternatives --config java
    sudo update-alternatives --config javac
    sudo update-alternatives --config javaws

um reinício foi necessário para mim. Do que funcionou.

Editar: percebi que não era suficiente seguir os passos acima.

Eu também tive que editar a variável de ambiente:

    sudo nano /etc/environment

E adicione (uma versão java diferente exigirá uma string diferente):

    JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"
    
por Chris S 12.08.2015 / 17:02
0

insira o número que identifica o caminho desejado e pressione enter. neste caso insira 1.

finalmente, tente testar a versão java -version

    
por obysr 16.06.2013 / 01:50
0

Eu acho que seu binário java está apontando para algum outro lugar que não seja /etc/alternatives/java .

Verifique a saída de: type java

Diz /usr/bin/java ? Em caso afirmativo, verifique se isso aponta corretamente para alternativas:

ls -l /usr/bin/java deve mostrá-lo apontando para /etc/alternatives/java .

Por último, confirme que /etc/alternatives/java está apontando para java-7: ls -l /etc/alternatives/java .

O comando update-alternatives somente ajusta o último e assume que o padrão aponta para /usr/bin/java , que por sua vez está vinculado corretamente a /etc/alternatives/java .

    
por sumwale 15.07.2014 / 22:40
0

Eu tentei quase todos os métodos listados acima, mas ainda encontrei java -version imprimindo a versão errada enquanto ls -al /etc/alternatives/java já apontava para a correta.

Então eu corro: which java e descobri que o resultado mostra que eu estava usando java de /usr/local/jdk_xxx/bin/java , então eu apaguei esta pasta e reiniciei o terminal. Agora o java funciona bem.

Espero que ajude os outros.

    
por Xinjing 29.07.2016 / 10:31