Reinstale o JDK e defina a variável do sistema. Veja o link
O Oracle instalou uma nova versão há um ou dois dias. Agora vou usá-lo e recebo:
C:\JavaTools>java -version
Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.
(Eu acho 'Software \ JavaSoft \ Java Development Kit' no registro, mas não há 'Java Runtime Environment'.)
Não há dúvida de que algo foi escolhido em meu caminho, registro ou o que quer que seja, mas não faço ideia do que. Alguma idéia?
(Eu encontrei isso , mas ele não parece resolver o problema Eu não intencionalmente mexi com qualquer configuração Java, apenas disse "OK" quando a Oracle pediu para atualizar minha configuração existente.)
O Cygwin encontra essas versões do java.exe - não tenho idéia de qual delas a Oracle supostamente está atualizando:
/cygdrive/c/Program Files/Java/jdk1.7.0_07/bin/java.exe
/cygdrive/c/Program Files/Java/jdk1.7.0_07/jre/bin/java.exe
/cygdrive/c/Program Files (x86)/Java/jre7/bin/java.exe
/cygdrive/c/Windows/System32/java.exe
/cygdrive/c/Windows/SysWOW64/java.exe
A única versão do javac.exe que encontrei foi:
/cygdrive/c/Program Files/Java/jdk1.7.0_07/bin/javac.exe
% path% inclui:
C:\"Program Files"\Java\jdk1.7.0_07\bin\
(Eu sei que não deveria ter dito "OK" quando a Oracle pediu para atualizar, mas eu estava ocupado com outra coisa e queria tirar isso do caminho. Isso vai me ensinar !!)
Atualização: finalmente acabei de excluir e recarregar o Java. Uma coisa que eu não tinha certeza é se devo tocar nas instâncias de java.exe no Windows \ System32 e no Windows \ SysWOW64 - as antigas ainda estão lá, mas não parecem causar problemas. (Eu deletei os outros caminhos, finalmente, depois de encontrar e matar o trabalho em segundo plano que estava fazendo referência a alguns arquivos dele.) Tive que atualizar manualmente% path% com o novo número da versão. Mas o Java parece estar funcionando novamente.
Reinstale o JDK e defina a variável do sistema. Veja o link
Tags java dll windows-registry runtime