Como definir a versão padrão do Java?

Como definir a versão padrão do Java?

Eu segui todas as instruções indicadas nestepergunta, mas estou encontrando alguns problemas com a última parte dele.

Na verdade, tenho a versão 6.22 do Java e gostaria de atualizar para a versão 6.30.

Então depois de mover o diretório extraído java-6-oraclepara dentro /usr/lib/jvmnão sei o que fazer, pois o script que está apontado na resposta acima é atualizado do java 5 para o java 6.

Para maior clareza, aqui será gerado se eu fizer um lsin dir /usr/lib/jvm:

$ ls -l /usr/lib/jvm
total 8 
lrwxrwxrwx  1 root root   14 2011-07-12 15:18 default-java -> java-6-openjdk
lrwxrwxrwx  1 root root   14 2011-07-12 12:19 java-1.6.0-openjdk -> java-6-openjdk 
drwxr-xr-x 10 root root 4096 2012-04-12 12:06 java-6.31-oracle 
drwxr-xr-x  7 root root 4096 2012-02-24 14:43 java-6-openjdk

O que eu deveria fazer agora?


PARTE ADICIONADA

Por sugestão de @fossfreedom executei o script mesmo assim e na verdade ele atualizou a versão java.

Na verdade, se eu executar o comando, java -versiona saída será a seguinte:

$ java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)

ainda é um problema, se Irun javac -versionme der a versão antiga instalada:

$ javac -version
javac 1.6.0_22

E se eu usar o testador nissolinkele vai me dizer que essa versão é

Java Version 1.6.0_22 from Sun Microsystems Inc.

O que está errado?

Parece que o Java Runtime Environment foi atualizado, mas o Java Compiler e o plugin Java para navegador não.

Como posso atualizá-los?


OUTRA PARTE ADICIONADA

sudo update-alternatives --config javaretornará a seguinte saída

$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                      Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6.31-oracle/bin/java     1062      auto mode
  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-6.31-oracle/bin/java     1062      manual mode

Press enter to keep the current choice[*], or type selection number:

isso faz sentido porque o JRE está atualizado corretamente para a versão 6.31, os problemas estão no compilador Java e no plug-in do navegador Java.

Alguma ideia?

Responder1

Re sua primeira pergunta:

possivelmente você pode estar confuso porque o script webupd8 é 0,5b. Essa é a versão do script - não se refere à versão java.

Além da configuração da versão javac.

Eu suspeito que você precise fornecer explicitamente o caminho do compilador javac

ou seja

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

seguido pela:

sudo update-alternatives --config javac

Com relação à configuração do plugin java chrome.

A questão principal:

Como faço para instalar o Oracle JDK 6?

inclui essas informações - como sua estrutura de pastas é um pouco diferente, seu comando de link deve ser:

ln -s /usr/lib/jvm/java-6.31-oracle/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/

Responder2

Veresse; correr

sudo  update-java-alternatives --list

para listar todas as instalações Java em uma máquina por nome e diretório e, em seguida, executar

sudo  update-java-alternatives --set [JDK/JRE name e.g. java-8-oracle]

para escolher qual JRE/JDK usar.

Se quiser usar JDKs/JREs diferentes para cada tarefa Java, você pode executar update-alternatives para configurar um executável Java por vez; você pode correr

sudo  update-alternatives --config java[Tab]

para ver os comandos Java que podem ser configurados (java, javac, javah, javaws, etc). E então

sudo  update-alternatives --config [javac|java|javadoc|etc.]

associará essa tarefa/comando Java a um JDK/JRE específico.

Você também pode precisar definir JAVA_HOME para alguns aplicativos: fromesta respostavocê pode usar

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

para JREs, ou

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")

para JDKs.

Responder3

Acho que você deveria dar uma olhada no update-java-alternativescomando do java-commonpacote e nos *.jinfoarquivos usados ​​por ele. Com isso você poderá alternar completamente entre instalações Java (independentemente de JDK, JRE, ...).

Responder4

Se você for definir manualmente alternativas para javac javaws javadoc ou qualquer outro comando relacionado a java, você pode querer torná-los escravos da alternativa java.

sudo update-alternatives --install "/usr/bin/java" "java" "/opt/jdk1.8.0_74/bin/java" 0 --slave "/usr/bin/javadoc" "javadoc" "/opt/jdk1.8.0_74/bin/javadoc"


update-alternatives: updating alternative /opt/jdk1.8.0_74/bin/java because link group java has changed slave links


:/opt/jdk1.8.0_74$ sudo update-alternatives --display java

java - a melhor versão do link de modo automático é /opt/jdk1.8.0_74/bin/java link atualmente aponta para /opt/jdk1.8.0_74/bin/java link java é /usr/bin/java escravo javadoc é /usr/bin /javadoc /opt/jdk1.8.0_74/bin/java - prioridade 0 escravo javadoc: /opt/jdk1.8.0_74/bin/javadoc

Altere /opt/jdk1.8.0_74/ pelo diretório onde seu jdk está instalado.

informação relacionada