Alterando a versão atual do Java no Windows

16

Estou trabalhando em um ambiente Windows XP e instalei recentemente o java 1.6 porque era exigido por um aplicativo.

No entanto, não quero que esta seja a versão padrão do java a ser usada. Como faço para configurá-lo para que o comando java -version retorne 1.5.x

Dunc
fonte
Eu daria uma olhada na pathvariável de ambiente. Você pode examiná-lo na linha de comando com: echo %PATH%. Essas são as pastas padrão nas quais os binários são procurados. Se você encontrar um caminho para o JAVA, poderá ajustá-lo facilmente nas Preferências do Sistema.
Rekin

Respostas:

21

Altere sua variável PATH para que ela tenha o local do diretório jdk5 / bin:

  1. Iniciar -> Painel de Controle -> Sistema -> Avançado
  2. Clique em Variáveis ​​de ambiente, em Variáveis ​​do sistema, localize PATH e clique nele.
  3. Nas janelas de edição, modifique PATH incluindo o local do diretório jdk5 / bin no início. Se você não possui o item PATH, pode selecionar adicionar uma nova variável e adicionar PATH como o nome e o local do diretório como o valor.
  4. Feche a janela.
  5. Reabra a janela do prompt de comando e execute java -version
dogbane
fonte
Isso não deu certo. O jre bin não fazia parte anteriormente do caminho, portanto deve ser definido em outro lugar.
Dunc 24/03
9
Isso ocorre quando você instala o Java, os compartimentos são colocados em C: \ WINDOWS \ system32, que faz parte do seu PATH. Você deve adicionar o diretório jre / bin ao início do PATH.
dogbane
Desculpe não localizou a parte inicial. Graças
Dunc
3
Se você tiver vários JREs instalados, a única maneira de conseguir isso é alterando a entrada do registro. Especialmente porque existem ferramentas que lêem as informações do JRE no registro e não no caminho da classe.
Ayusman
17

No shell de comando:

set JAVA_HOME=C:\jdk1.6.0u24
set PATH=%JAVA_HOME%\bin;%PATH%

Isso configurará temporariamente o ambiente no shell de comando. O Maven, o Ant, etc. serão atualizados na sua nova versão do Java sem precisar ir ao Painel de Controle repetidamente.

Ferramentas como o Eclipse devem poder selecionar qual JDK usar em suas próprias ferramentas de configuração para uso em seus ambientes.

Mike Thomsen
fonte
6

O Java 8 cria três atalhos em \ ProgramData \ Oracle \ Java \ javapath que apontam para o Java8 java.exe mais recente, javaw.exe e javaws.exe e, em seguida, coloca \ ProgramData \ Oracle \ Java \ javapath na frente do PATH para que não importa o que você faça com a variável de ambiente JAVA_PATH, você ainda obterá o Java 8 mais recente.

Você pode contornar isso

1) renomeando \ ProgramData \ Oracle \ Java \ javapath para outra coisa (\ ProgramData \ Oracle \ Java \ javapath8, por exemplo)

2) criando uma nova pasta javapath em Java e

3) criando os atalhos que você precisa.

Apenas restaure o javapath quando terminar as versões antigas e recupere o Java 8.

Ron
fonte
11
Bem, você sempre pode colocar seu antigo local Java no PATH, em primeiro lugar, e ele vencerá.
Leonbloy
Resposta curta, mas objetiva, muito boa, esta explica mais especificamente como gerar várias versões de javapathpastas, usando links simbólicos, para que você possa alternar sem tempo entre as versões e o material do registro que está faltando aqui, capturas de tela e truques para evitar a reinicialização após as alterações também. consulte stackoverflow.com/questions/27996603 .
3

Há duas maneiras de corrigir isso:

1) Altere o PATH (como alguém já mencionou) O importante com esta solução é definir JAVA_HOME antes dos caminhos do Windows. Isso ocorre porque, na pasta do Windows, existe um java.exe que redireciona para o último jre instalado .

2) Regedit. A chave HKEY_LOCAL_MACHINE-> SOFTWARE-> JAVASOFT-> Java Runtime Environment contém a última versão instalada para a qual o java.exe na pasta do Windows redireciona. Se você mudar isso para uma versão instalada anteriormente, tudo deve ficar bem. (Pelo menos, acho que essa é a chave de registro correta)


fonte
1

A versão mais recente do JRE que você sempre tem precedência sobre qualquer configuração PATH. Portanto, para ter certeza, desinstale o JRE 1.6 se você não quiser que ele seja o principal. Você pode ter qualquer número de JDKs instalados em paralelo.

adarshr
fonte
1

Como o Java suporta uma -versionopção de linha de comando, você pode usá-lo para selecionar uma versão específica para executar, por exemplo:

java -version:1.7 -jar [path to jar file]

executará um aplicativo jar no Java 1.7, se estiver instalado.

Para mais detalhes, consulte a documentação da Oracle .

Akhilesh Dubey
fonte
@Jawa isso java -version:1.7 -jar [path to jar file]não é mais suportado. Pode ser necessário seguir a rota PATH Atenciosamente.
Adeola Ojo 04/04
0

Crie um arquivo “setjava.bat” e salve esse arquivo com o conteúdo abaixo e não se esqueça de alterar o JAVA_PATH para o seu sistema. Além disso, lembre-se de salvar este arquivo com extensão .bat.

echo off
REM IMPORTANT
REM RUN THIS SCRIPT AS ADMINISTRATOR
set JAVA_REQ_VER=%1
IF "%JAVA_REQ_VER%" == "7" (
 set JAVA_PATH="C:\Progra~1\Java\jdk1.7.0_79"
) ELSE (
 REM At present I only need to assign 8 by default if not 7
 set JAVA_PATH="C:\Progra~1\Java\jdk1.8.0_111"
)
setx /M JAVA_HOME "%JAVA_PATH%"

Agora você acabou de executar este script com privilégios de administrador.

Exemplo: setjava 8, setjava 7

Verifique este link para mais detalhes

Ricky
fonte