Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

26
respostas

vários arquivos no path e não reconhece o %JAVA_HOME%

Help... galera jdk instalada, mas na hora de colocar o %JAVA_HOME%\bin ... tem várias linhas de arquivos e mesmo eu colocando no final não reconhece no cmd o javac -version

alguém sabe me ajudar?

C:\Python27\
C:\Python27\Scripts
C:\ProgramData\Oracle\Java\javapath;
C:\Windows\system32
C:\Windows
C:\Windows\System32\Wbem
C:\Windows\System32\WindowsPowerShell\v1.0\
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common
%SystemRoot%\system32
%SystemRoot%
%SystemRoot%\System32\Wbem
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
%JAVA_HOME%\bin;
26 respostas

Oi @Thiago, passa pra gente como você declarou seu JAVA_HOME.

Já tentou reiniciar a máquina?

Olá, @Thiago.

Experimente rodar o seguinte na linha de comando:

echo %JAVA_HOME%

Assim voce vai saber se a variável ambiente está efetivamente declarada.

JAVA_HOME C:\Program Files\Java\jdk-9.0.1

e o echo %JAVA_HOME% retornou o endereço acima!

@Thiago, se tentar só o java -version retorna alguma coisa?

Se voce estiver com pressa, pode colocar diretamente no seu Path o caminho C:\Program Files\Java\jdk-9.0.1\bin

cara! não sei como explicar, mas eu reiniciei e agora nem o java -version retorna. mas antes estava retornando a versão nove!!

Pode ser conflito. Talvez voce tenha uma JRE e a JDK instaladas, ambas possuindo um binário 'java'. E quanto ao 'javac'? Experimente rodar o comando

where java

ou

where javac

Experimente também dar um

echo %PATH%

para saber se seu path foi mesmo atualizado corretamente. Pode ser um erro de digitação. Experimente também colocar o valor

%JAVA_HOME%\bin\

com o '\' após o 'bin'.

eu estou desistalando o java 9 e vou reinstalar o 8 e refazer o processo, já chamo vocês de novo kkk

eu estou adorando aprender a programar , mas a cada curso é uma briga pra poder começar a fazer alguma coisa e isso desanima!

Desanima não. Qualquer coisa, faz as coisas na força bruta só para contornar as barreiras. Por exemplo, chama o compilador do java digitando o caminho inteiro

%JAVA_HOME%\bin\javac.exe -version

Com o tempo voce vai perceber que tentar fazer tudo muito certinho só serve pra dar canseira. É importante ver o programa funcionando primeiro, depois vc vai aparando as arestas.

mesmo problema... java -version ele reconhece, mas não reconhece o javac

C:\Users\Thiag>javac -version 'javac' não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes.

olhem só o where java e where javac: C:\Users\Thiag>where java C:\ProgramData\Oracle\Java\javapath\java.exe C:\Program Files\Java\jdk1.8.0_151\bin\java.exe

C:\Users\Thiag>where javac C:\Program Files\Java\jdk1.8.0_151\bin\javac.exe

com a informação acima , vocês sabem algum jeito de fazer isso funcionar?

quando eu dou o echo %path%

C:\Users\Thiag>echo %PATH%
C:\ProgramData\Oracle\Java\javapath;C:\Python27\;C:\Python27\Scripts;"C:\ProgramData\Oracle\Java\javapath;";C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;"C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.8.0_151\BIN;";C:\Users\Thiag\AppData\Local\Microsoft\WindowsApps;C:\Users\Thiag\AppData\Local\atom\bin;"C:\Users\Thiag\AppData\Local\Microsoft\WindowsApps ;C:\Program Files\Java\jdk1.8.0_151\BIN;";

Realmente tem dois binários 'java' no seu path. Voce precisa tirar um deles.

Já o JAVA_HOME deve ser 'C:\Program Files\Java\jdk1.8.0_151\bin\' mesmo.

como eu faço isso Arthur?

Remova do PATH o 'C:\ProgramData\Oracle\Java\javapath;'

Assim voce vai ficar com o 'java' apenas da jdk.

eu removi, mas acho que removi algo a mais, e agora não está abrindo o java - version... consegue me ajudar? kkk EU sofro muito com essas coisas ...

"C:\ProgramData\Oracle\Java\javapath;";C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;"C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.8.0_151\BIN;";C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;"C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk1.8.0_151\bin\\bin";C:\Users\Thiag\AppData\Local\Microsoft\WindowsApps;C:\Users\Thiag\AppData\Local\atom\bin;"C:\Users\Thiag\AppData\Local\Microsoft\WindowsApps ;C:\Program Files\Java\jdk1.8.0_151\bin\\bin";

continua sem reconhecer os dois comandos agora java - version e javac-version

Não sei se foi a melhor solução, mas set path=C:\Program Files\Java\jdk"x.x.x_xx"\bin

agora reconhece o javac - version

Olá, Thiago, o seu a sua JAVA_HOME tem que ficar mais ou menos dessa forma dependendo da versão do jdk;

C:\Program Files\Java\jdk-9.0.1

O seu path ficará assim %JAVA_HOME%\bin

Este código %JAVA_HOME%\bin nada mais é que o caminho onde está o seu jdk C:\Program Files\Java\jdk-9.0.1 sendo que de uma forma "resumida" você pode colocar no seu path de qualquer forma que vai funcionar, espero ter ajudado.

então, eu fiz a alteração e o erro persiste, com esse comando Set path=C:\Program Files\Java\jdk1.8.0_151\bin na hora em que eu coloco ele reconhece, mas ao fechar o cmd ele deixa de reconhecer e volta a dar o mesmo erro, não sei se isso vai me atrapalhar de desenvolver com os frameworks, não sei se vai dar algum erro lá na frente

O SET PATH='...' vai salvar essa variável apenas para sessão atual do cmd.

@Thiago. Você tem que definir o JAVA_HOME e o PATH nas configurações globais de variáveis ambiente do Windows. Fica em Painel de Controle > Sistema > Configurações avançadas do sistema. Na aba "Avançado", na parte inferior da janela há o botão "Variáveis de Ambiente".

O 'PATH' fica em "Variáveis do sistema" e você pode editá-lo. MAS ATENÇÃO!!!! Não faça lá o que você fez antes: não coloque apenas o %JAVA_HOME%\bin no PATH. Acrescente-o ao final. E tome muito cuidado ao remover outras coisas.

mas está assim e não funciona, eu alterei mil vezes!! JAVA_HOME está com o caminho correto.

path está %JAVA_HOME%\bin na última linha agora, e mesmo assim não vai!!

tem alguma forma desse set path... configurar para todas as sessões?

excluí o java_home; coloquei o caminho direto no lugar de %java_home%\bin

espero que não dê problema no futuro, mas no momento está reconhecendo