Estou usando o Java 6 no Ubuntu 11.10, mas agora quero atualizar para a versão 7. Instalei a versão 7 via PPA, conforme 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
Parece que a versão 7 já é o padrão. Mas se eu correr
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?
11.10
java
update-alternatives
Dónal
fonte
fonte
update-alternatives
, que eu já tenteisudo apt-get install oracle-java7-set-default
e reiniciar ?Respostas:
De acordo com esta resposta: Como definir a versão Java padrão?
Tente fornecer o caminho explícito junto com o
update-alternatives --install
primeiro e executeupdate-alternatives
para fazer sua seleção:fonte
Você precisa definir
javac
também.fonte
Eu tive o mesmo problema. Eu tinha o Sun JDK6 instalado. Depois de
uma reinicialização foi necessária para mim. Do que funcionou.
Edit: eu percebi que não era suficiente para executar as etapas acima.
Eu também tive que editar a variável de ambiente:
E adicione (uma versão java diferente exigirá uma sequência diferente):
fonte
insira o número que identifica o caminho desejado e pressione enter. neste caso, insira 1.
finalmente, tente testar a versão
java -version
fonte
update-alternatives
indicando que eu já estou usando a versão 7, masjava -version
mostra que eu ainda estou usando a versão 6.Eu acho que seu binário java está apontando para outro lugar que não
/etc/alternatives/java
.Verifique a saída de:
type java
Diz isso
/usr/bin/java
? Nesse caso, verifique se isso aponta corretamente para alternativas:ls -l /usr/bin/java
deve mostrar apontando para/etc/alternatives/java
.Por fim confirmar que
/etc/alternatives/java
em si está apontando para java-7:ls -l /etc/alternatives/java
.O comando update-alternative apenas ajusta o último e assume que os pontos padrão aos
/usr/bin/java
quais, por sua vez, estão corretamente vinculados/etc/alternatives/java
.fonte
Eu tentei quase todos os métodos listados acima, mas ainda encontrei
java -version
a versão errada enquantols -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 apaguei esta pasta e reiniciei o terminal. Agora o java funciona bem.Espero que ajude os outros.
fonte